我与一个使用“merge 工作流”的小团队合作,我们最近根据 Sandofsky's article 切换到“ rebase 工作流” .
我们目前的工作流程:
- git checkout master, git pull origin master
- git checkout -b feature_branch,做一些工作然后 git commit -am "msg for feature branch"
- git checkout master、git pull origin master、git rebase master feature_branch
- git checkout master,git merge --squash
- git commit -am "msg for master branch", git push origin master
rebase 特性分支后,我们将它 merge 到我们的 master 中。如果我们改用 --no-ff 会发生什么? git merge --squash
和 git merge --no-ff
有什么区别?
最佳答案
--squash
创建一个包含所有 merge 更改的单个 提交(它压缩 整个 merge 分支的历史记录为一个提交)。 --no-ff
也在分支中 merge ,创建 merge 提交并保留 merge 分支的整个历史记录。
关于git - git merge --no-ff 和 git merge --squash 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388813/