回答
您可以使用git merge --squash
在合并到分支中时将提交压缩为一个提交。
切换到目标分支
$ git checkout target-branch
然后使用
$ git merge --squash original-branch
所有提交在original-branch
将被合并成一个单一的一个,并且施加到target-branch
。
你可以用git cherry-pick -n
来做到这一点。相比git merge --squash
这种方法更加灵活,因为它允许您指定提交的任意范围:
git cherry-pick -n OTHER_BRANCH~100..OTHER_BRANCH
git commit -m "Merged 100 commits from OTHER_BRANCH"
git cherry-pick
-n|--no-commit
通常
git cherry-pick
命令会自动创建一个提交的序列号 。此标志应用必要的更改,以挑选 每个命名提交到您的工作树和索引,而不会使 任何提交。此外,使用此选项时,索引不会 必须与HEAD提交相匹配。樱桃选择是根据索引的起始状态 完成的。当选择多个提交''连续索引时,这非常有用。
感谢这个有用的选项!这真的很有趣。但是我无法理解最后一句的最后一部分:'对连续的索引产生影响'。这是什么意思? –
@VictorDombrovsky该句子可以改写为“将多个提交中的更改合并到索引时很有用”。 – Leon
- 1. 将提交从一个分支移动到另一个分支
- 2. 如何将所有提交从一个分支移动到另一个分支?
- 3. 将多个提交从一个分支移动到另一个分支?
- 4. 是否可以在git中一次一个地提交提交,而不是同时提交所有提交?
- 5. 如何将提交移动到另一个分支?
- 6. 从另一个分支迁移提交,没有公共父项
- 7. 如何将分支(或指定的提交)移动到另一个分支?
- 8. 如何将所有提交从特定提交移动到新分支
- 9. git cherry将一个提交到另一个分支
- 10. 从一个分支git副本提交到另一个
- 11. 将一组连续的提交从一个(本地)分支移动到另一个
- 12. Subversion将未提交的更改提交到一个新分支
- 13. 如何将一系列提交添加到另一个分支?
- 14. 将单个文件提交到另一个分支
- 15. 如何在git中将旧提交移动到另一个分支?
- 16. 检查是否所有提交到一个GIT分支已被挑选到另一个
- 17. 使用git,如何将一些未提交的更改从一个分支移动到另一个分支中的另一个分支?
- 18. git合并重新提交提交到另一个提交?
- 19. 我应该如何将更改从一个提交移动到另一个提交?
- 20. 如何合并到只有两个提交和一个提交被压扁的另一个分支?
- 21. Git:从另一个提交一些提交启动一个新项目
- 22. 是否可以将来自TFS分支的所有更改压缩到一个提交中?
- 23. 将某些文件(不是提交)从一个分支合并到另一个分支
- 24. 将表单提交到另一个域
- 25. 切换分支以及移动已提交但未提交的提交
- 26. egit:在一个分支中所做的更改在另一个分支上可见而没有任何提交
- 27. 将本地Git提交到git-svn的一个提交中
- 28. 有没有办法从一个分支中删除提交并将它们放入另一个分支?
- 29. Git Squash按作者 - 所有作者提交到一个提交
- 30. 删除从另一个分支完成的所有提交/合并
'git checkout -b && git reset --soft && git commit'? –
raina77ow
如果你有一个带有行号的文本编辑器,那么它不应该很难识别需要改变的行,然后进行批量替换。 –