Git rebase squash通过哈希提交

ayu*_*hgp 2 git rebase squash

我有一个大约10个提交的分支.其中3个是合并提交,将master与我的分支合并,并在每次之间添加~500个提交.有没有办法压缩当前分支上的提交?我的历史看起来像这样:

ad54ef86 My Commit 1
ad54ef86 Merge commit
ad54ef86 Others' Commits
....500 more others' commits
ad54ef86 My Commit 2
ad54ef86 My Commit 3
ad54ef86 Merge commit
ad54ef86 Others' Commits
....500 more others' commits
ad54ef86 My Commit 4
...
Run Code Online (Sandbox Code Playgroud)

现在做git rebase -i HEAD~2000和搜索是很多工作.它有办法吗?

编辑:所以这个问题被标记为Squashing最后n次提交的副本.这显然不是我的问题.我想压缩在我当前分支上进行的最后n次提交之后我合并该分支中的另一个分支并获得所有这些提交.

rdf*_*rdf 5

首先,我会问你的rebase的目的是什么?你想最终将你的提交推送到遥控器吗?或者,您是否希望简单地将您的提交放在首位并继续在本地工作?无论哪种方式,我建议您采取以下步骤:

  1. 创建一个新的分支
  2. 将其与远程主站同步.这将从远程获取所有提交.
  3. 从你描述的分支开始樱桃挑选你的提交.了解你提交的哈希值会有所帮助.这将在您的提交下获得master的所有提交.请注意,新分支中的提交的哈希值将被重写.
  4. 如果需要,您现在可以压缩并将提交推送到远程.

请记住下次需要同步到远程时进行提取和重新绑定.