Git 携带来自已合并的 PR 的旧提交消息
Git carries old commit messages from PRs that have been merged
我有一个分支,我用它做PR1
,合并了,然后我做了git pull origin master
,和master合并了。我现在正在使用同一个分支提交另一个 PR - PR2
,但我意识到它带有来自 PR1
的提交消息。我应该如何删除这些消息?
一般来说,合并后的分支不要重复使用。每个特征使用一个分支:feature branches。一旦一个分支被合并,删除该分支,并为下一个 PR 创建一个新的分支。
您不想在旧分支上重做新提交。我们可以用 git rebase master
来解决这个问题。这是它的工作原理。
您有一个包含一些提交的分支。
A - B - C [master]
\
D - E [feature]
已合并。
A - B - C ------ F [master]
\ /
D - E [feature]
现在您已将更多提交添加到同一分支。
A - B - C ------ F [master]
\ /
D - E - G - H [feature]
我们想要一个只有新提交 G 和 H 的分支。有多种方法可以实现这一点。最简单的就是git rebase master
。这将在当前 master
.
之上重播您的分支提交
A - B - C ------ F [master]
\ / \
D - E G1 - H1 [feature]
git rebase
将识别出 master
已经包含 D 和 E 的内容,因此将跳过它们。 G 和 H 将在 master
之上重播并赋予新的提交 ID,此处由 G1 和 H1 表示。
现在你可以推送 feature
作为一个新的 PR,只有 G1 和 H1 会出现。合并后,请务必删除该分支并为新 PR 使用新分支。
我有一个分支,我用它做PR1
,合并了,然后我做了git pull origin master
,和master合并了。我现在正在使用同一个分支提交另一个 PR - PR2
,但我意识到它带有来自 PR1
的提交消息。我应该如何删除这些消息?
一般来说,合并后的分支不要重复使用。每个特征使用一个分支:feature branches。一旦一个分支被合并,删除该分支,并为下一个 PR 创建一个新的分支。
您不想在旧分支上重做新提交。我们可以用 git rebase master
来解决这个问题。这是它的工作原理。
您有一个包含一些提交的分支。
A - B - C [master]
\
D - E [feature]
已合并。
A - B - C ------ F [master]
\ /
D - E [feature]
现在您已将更多提交添加到同一分支。
A - B - C ------ F [master]
\ /
D - E - G - H [feature]
我们想要一个只有新提交 G 和 H 的分支。有多种方法可以实现这一点。最简单的就是git rebase master
。这将在当前 master
.
A - B - C ------ F [master]
\ / \
D - E G1 - H1 [feature]
git rebase
将识别出 master
已经包含 D 和 E 的内容,因此将跳过它们。 G 和 H 将在 master
之上重播并赋予新的提交 ID,此处由 G1 和 H1 表示。
现在你可以推送 feature
作为一个新的 PR,只有 G1 和 H1 会出现。合并后,请务必删除该分支并为新 PR 使用新分支。