Git操作指南:多人协作提交代码的规范
操作指南
以TortoiseGit以例,多人或多台电脑之间同步协作少用git pull,而是要通过以下方法
- 右键 点击 git sync,选择 Fetch & Rebase
- 等待Fetch完之后,在弹出来的选项中选择Rebase
- 在Rebase窗口,点击Start Rebase
Fetch这步可以换成pull吗?因为rebase的时候,也是要merge的,不如提前merge,换成pull会有什么问题吗?
pull会导致log的时间错乱,多出一条merge branch的log
Rebase
提交记录会比较简洁
右键 - Sync - 点击【Fetch&Rebase】 - 点击Start Rebase,才能把数据down到本地,否则Fetch只是查看。
Stash
在我的实际操作过程中,进行Rebase前我的本地有修改,Rebase之后会被还原,但TortoiseGit会提示Stash,选择是,就会保留下更新前本地的所做的修改了。
Rebase完成之后就会询问pop Stash,恢复之前的修改。
stash -> pop
pull提交记录时间是凌乱的
我用同一个帐号在A机上提交了,然后过几天在B机器上未更新但有修改,最后通过git pull,会产生一个git merge,并且默认显示的顺序是以本地的提交为准的。
看看B机器上的tortoisegit log是怎样的
push后到网页上的log和A机器上的log的时间都是从新到旧的
change log order(切换排序)
可以通过点击标题栏来切换order,让它按时间排序,只是graph这个线要怎么看呢?
结论:Fetch和pull的区别
建议使用Fetch,而不是pull。 pull = fetch+merge。