相关疑难解决方法(0)

为什么git默认执行快进合并?

来自mercurial,我使用分支来组织功能.当然,我也想在我的历史中看到这种工作流程.

我使用git开始了我的新项目并完成了我的第一个功能.合并该功能时,我意识到git使用快进,即如果可能,它会将我的更改直接应用到主分支并忘记我的分支.

因此,思考未来:我是唯一一个从事这个项目的人.如果我使用git的默认方法(快进合并),我的历史将导致一个巨大的主分支.没有人知道我为每个功能使用了一个单独的分支,因为最后我只有那个巨大的主分支.这看起来不专业吗?

通过这种推理,我不想要快进合并,也不知道为什么它是默认的.这有什么好处的?

git git-merge fast-forward git-branch

637
推荐指数
2
解决办法
15万
查看次数

git merge --no-ff 和 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

git merge squash

4
推荐指数
1
解决办法
6200
查看次数

标签 统计

git ×2

fast-forward ×1

git-branch ×1

git-merge ×1

merge ×1

squash ×1