git的常用操作

虽然git有许多命令,但是git的日常操作只需要用到一部分,作为初学者,只要先熟练掌握满足基本需要的操作,再尝试其他的命令即可。

目录

本地创建仓库,并将git与远程仓库关联起来(以码云为例)

       使用git init在本机上创建一个本地仓库:

关联远程仓库

同步本地仓库到远程仓库

当远程仓库的文件与本地仓库的文件有冲突时,该怎么解决

第一个解决办法是强制你的版本覆盖对方的版本(不推荐)

第二个是从远程仓库pull下来,再push上去(即上文的解决办法)

第三种解决方法是你新建一个分支,然后推送到远程分支里面:


本地创建仓库,并将git与远程仓库关联起来(以码云为例)

    需要用到的git命令:git init ,git remove 

   使用git init在本机上创建一个本地仓库:

     在桌面上新建一个目录GitProject

    

    点进去目录,鼠标右键点击git bash

  

输入git init,按下空格提示Initialized empty......,创建成功

   

关联远程仓库

     首先需要在码云上新建一个仓库(或者你已有的仓库也行)

     创建完仓库后,点进去仓库,将你的仓库地址,也就是浏览器地址栏复制下来。

    然后打开gitBash,输入git remote add origin URL  其中URL就是你的仓库地址,origin表示这是主支

(在gitbash中,选中文本就是复制,按下鼠标滑轮可实现粘贴)

   

同步本地仓库到远程仓库

用到的命令:git add , git commit ,git pull

首先在之前创建后的目录中添加一些文件,这里新建了两个txt文件

通过git add命令将这些新建的文件加到git的暂存区里面

git add * 表示添加该仓库下的所有文件,你也可以用git add 文件名 来添加单独的文件

提交到本地仓库

将本地仓库的内容同步到远程仓库

这里出现了错误,什么错误呢?就是码云的那个远程仓库包含有本地仓库没有的文件(码云仓库在新建时一般会有一个README.md文件)。

当然你也可以手动在远程仓库将readme.md等文件给删了,但一般是先pull下来

 git pull origin master --allow-unrelated-histories
--allow-unrelated-histories是可选项,如果不加,git 会输出 refusing to merge unrelated histories 无法 pull 内容

因为我们远程和本地仓库都是分别创建的(如果本地仓库是从远程仓库clone下来的,则不用),本质上是两个独立的仓库,git会提示拒绝合并两个历史不相关的仓库。

在这之前可能会提示你,要求你输入为什么强制合并分支的理由,输入:wq退出(注意有:号)即可

这是我们再来git push

我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

在码云的仓库刷新一下,就会出现本地仓库的文件了。

当远程仓库的文件与本地仓库的文件有冲突时,该怎么解决

上面我们出现远程仓库与本地仓库不一致时,用的是从远程仓库pull下来合并到本地仓库来解决的。

但是出现这样一种情况:

当团队合作时,团队成员上传了一个新版本,而你是基于上上一个版本修改的,这时候上传到仓库时就会冲突。

第一个解决办法是强制你的版本覆盖对方的版本(不推荐)

 git push -u origin master -f


第二个是从远程仓库pull下来,再push上去(即上文的解决办法)

但是由于我们之前是文件数量上的不一致,所以 pull下来就能够push上去,这次是文件内容的差异。同一个文件,内容不一样,并且修改者也不一样,那么应该以哪个为准?

这时候就需要我们手动去解决了。从远程pull下来时,本地与远程有冲突的文件就变成了以下这个格式:

<<<HEAD是指主分支修改的内容,=====是两个冲突内容的分隔符,>>>>>是指分支上修改的内容(因为我是直接在码云上修改文件的,所以这里显示一连串字符)

我们直接粗暴的手动删除保留一个版本即可

这时候再执行重新执行git add 和git commit -m即可

第三种解决方法是你新建一个分支,然后推送到远程分支里面:

在本地创建一个分支:

git checkout是切换分支,git push origin dev其中,跟在origin后面的dev你刚刚切换的分支的名字,提交上去后,远程仓库会自动创建一个同名的分支。

更详细的git教程可以查看:https://blog.csdn.net/lamfang/article/details/82865814

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页