0

我在 Stack Overflow上花了半个小时阅读mergevs。rebase据我了解,rebase这很好,因为它保持线性,但可能会让合作者感到困惑,因为它会改变历史。

那么,这样推断是否公平

  1. 在功能分支上,使用 fetch+merge 来维护历史记录并避免协作者之间的混淆。混乱并不重要,因为无论如何它都会在推送到 master 后被删除。

  2. 在 master 分支上,使用 rebase 以避免混乱。修改历史记录并不重要,因为功能分支作为单个提交被推出。

4

2 回答 2

1

这主要取决于您的工作流程以及您的分支在该工作流程中扮演的角色。

根据经验:

  • 只要您没有发布(即推送)您提交的内容,或者您​​确定没有其他人对您的分支感兴趣,rebase 就可以了。
  • 将某些功能分支集成到另一个分支时,显式合并很好。在这种情况下,您需要一个描述性的合并提交。

实际上,我几乎总是使用git pull --rebase. 重要的部分是将上游设置为正确的远程分支,即

  • 在将工作推送到功能分支之前分支的分支,并且
  • 之后你的远程功能分支。
于 2013-05-12T09:01:29.223 回答
0

您在 主题分支上时变基

# integrate the latest upstream changes into your "master"
git checkout master
git pull

# make sure that you're on your topic branch
git checkout my_topic

# do the rebase
git rebase master

然后准备好后,您可以将主题分支合并到主分支

git checkout master
git merge my_topic
于 2013-05-12T04:46:51.270 回答