git merge的表现

来源:互联网 发布:交换机端口速率协商 编辑:程序博客网 时间:2024/06/11 02:50

git pull这条命令可以将远程分支和本地分支合并,

如果本地分支有内容没有提交时(不知道stash的内容是否应该考虑),git pull就会失败,提示应该“move 或者 remove 冲突的文件”。

有冲突文件很正常,本地分支内容全部commit之后,再执行git pull origin命令,会出现这样的结果:

1.对于没有冲突的文件,自然原封不动

2.对于本地分支没有,远程分支有的文件,远程的会加入当前文件夹中,执行git status之后,

On branch master
Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:

    new file:   bbb


Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both added:      aaa

3.对于有冲突的文件,即上面的aaa文件,他的内容就包含了本地aaa原来的内容和远程分支aaa的内容(再次测试时还有另外一种情况是,弹出了一个merge界面,:wq之后就发现aaa没有改变,没有将远程的内容放在本地),现在aaa的内容如下所示:

<<<<<<< HEAD
看一看merge的作用

改了一下
=======
看一看merge的作用
>>>>>>> d522c4c2b5c29c66c84edeb5668c281bfee2deb7

其中,==========分开了本地的和远程的,本地的是上面的,远程的是下面的内容。

执行git log之后,发现是这样的情况, 还是本地原来的log。远程的log和这个是不一样的。

4.对于本地有,远程无的文件,这个文件在我这里测试时是被删除掉的,所以要谨慎的pull


1 0
原创粉丝点击