53

当我打算在分支“master”上提交它们时,我不小心在分支“testing”上做了 10 次提交。“测试”分支上的其他提交是垃圾,所以我不想将它与“主”合并。相反,我只想重播 master 上的最后 10 次提交。

4

3 回答 3

108

变基应该这样做。

git rebase -p --onto master testing~10 testing

这会将测试的最后十次提交复制到 master 并进行新的测试(旧的测试将是孤立的)。然后,您可以将 master 合并到 testing 作为快进。

git checkout master
git merge testing
于 2009-06-10T02:10:29.157 回答
24
  1. git结账大师
  2. git whatchanged 测试
  3. git 樱桃采摘

?

于 2009-06-10T01:20:57.820 回答
1

正如评论中所说,rebase-inspired 的答案是让“垃圾”提交成为孤儿

只需使用简单的工具:

git checkout master
git merge testing
git checkout testing
git reset --hard HEAD~10   # Go back 10 commits (*1)
git checkout master

(*1) You will only be "losing" commits from the testing branch, since you'll have those commits in master thanks to the merge.

于 2015-11-23T15:51:33.430 回答