在git

时间:2019-05-31 16:39:15

标签: git

我目前是从master分支出来的(称为branchA)。我已经对branchA进行了两次提交,现在想在合并到master之前将提交压缩到我的分支上。通常我会在我的分支机构仓库中做类似的事情:

git rebase -i HEAD~n

我将通过执行n并手动计算来自(不包括)主分支提示的提交直到(并包括)分支的git log来提交HEAD。目前,由于提交很少,因此计数很容易。

是否有一种简单的方法可以在主分支提示提交之后引用当前分支上的所有提交?

2 个答案:

答案 0 :(得分:2)

您可以尝试:

git rebase -i $( git merge-base master HEAD )

您正在寻找master和您当前分支(或至少是最新的共同祖先之一)发生分歧的点,并将其用作变基的参数。 可能有效。

如果您想知道的是您的分支机构有多少个修订版本

git log --pretty=%h $( git merge-base master HEAD ) | wc -l

请注意,无需重新设置即可轻松压扁:

git reset --soft $( git merge-base master HEAD )
git commit -m "Squashed feature"

恕我直言,警告:我不明白为什么人们更愿意去找编辑,上帝知道当几个命令可以解决问题时,需要多少行。但是...反正。

答案 1 :(得分:2)

  

是否有一种简单的方法可以在主分支提示提交之后引用当前分支上的所有提交?

是的,只需执行以下操作:

git rebase -i master