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