Git 多人协作
不开分支多人协作的后果—— git 自动用旧代码覆盖新的更改
主干分支与个人分支的合并
在个人分支 commit 后
1 | git checkout dev |
2 | git pull |
3 | git merge --no-ff personal_branch # --no-ff: 禁用 fast forward 模式 |
4 | resolve conflict |
5 | git push |
6 | |
7 | git checkout personal_branch |
8 | git reset --hard dev |
merge 和 rebase 的区别
引用知乎的回答:
可以这么说:merge是显性合并,rebase是隐性合并。
同理,当你执行git pull时,是同时执行了git fetch 和 git merge两个操作。如果你不想进行merge操作,即不想留下合并的记录,可以使用 git pull —rebase操作。
SourceTree 下的 merge
- Aim: merge
branchA
intomain
- double click
branchA
on the side bar of branches. - select the commit and right click, select commit.
Significant: checkout to the branch which is to be merged with. (branchA
in this case)
Github Desktop 下的 merge
参考这个,不再赘述。
Reference: