git merge --no-ff 和 git merge --squash 有什么区别

Nik*_*ola 4 git merge squash

我与一个使用“合并工作流程”的小团队合作,我们最近根据Sandofsky 的文章切换到“变基工作流程” 。

我们当前的工作流程:

  1. git checkout master、git pull origin master
  2. git checkout -b feature_branch,做一些工作并 git commit -am "msg for featurebranch"
  3. git checkout master、git pull origin master、git rebase master feature_branch
  4. git checkout master,git merge --squash
  5. git commit -am“主分支的消息”,git Push origin master

在对功能分支进行变基后,我们将其合并到我们的主分支中。如果我们使用 --no-ff 代替会发生什么?git merge --squash和 和有什么区别git merge --no-ff

mip*_*adi 5

--squash创建包含所有合并更改的单个提交(它将整个合并分支的历史记录压缩为一个提交)。--no-ff还合并到分支中,创建合并提交并保留合并分支的整个历史记录。