在同一台电脑上并行开发时的处理
想象一下,小红在自己的电脑上开发了一部分功能,接着下班了。然后卷王小明夜里加班,同样用小红的电脑,新建了一个分支,继续开发了一些新功能。第二天小红上班,想合并一下两人的进度,应该怎么办呢?
注:小明是这样做的:
cd /home
git clone /home/project_hong projrct_ming
(开发新功能)
git commit -a
解决方案是这样的:
1、小红应该回到自己的路径下,pull一下小明的代码:
cd /home/project_hong
git pull /home/project_ming master
2、如果发生了冲突,需要由小红决定,是保留小明的更改,还是舍弃。
3、如果小红只是想看一下小明的更改,并不想直接merge,可以不运行git pull, 那就可以这样做:
git fetch /home/project_ming master
git log -p HEAD..FETCH_HEAD
这一操作不会更改到小红的本地代码库,只会显示,从HEAD(小红昨天晚上的进度)到FETCH_HEAD(小明目前的进度)之间的更改。
同时,小红还可以如下指令,可视化一下这一更改:
gitk HEAD..FETCH_HEAD