我正在使用 git flow 方式来管理我的仓库中的分支,如下所述: http: //nvie.com/posts/a-successful-git-branching-model/
因此,我应该使用的命令序列如下:
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff mybranch
但是,在某些情况下,我想做不同的一件事:
我想在我的功能分支 ( mybranch
) 上保留我的所有提交,但在合并到develop
.
所以这就是我认为的命令序列应该是:
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff --squash mybranch
--no-ff
如果我要与 结合,我会做错事--squash
吗?
我犹豫要不要尝试这一点,因为“压缩”和“保留历史”是正交要求 - 请参阅将我的所有提交(包括合并)压缩到一个提交中而不改变历史
我的理由是我想在一个分支 () 上保留历史记录mybranch
并在另一个分支 () 上保留 suqash develop
--> 因为这些操作是在单独的分支中执行的,所以可以。