git如何将较早的提交上移至头部而不丢失任何其他提交

时间:2019-10-25 18:26:03

标签: git rebase git-commit

我有一个本地分支,其提交类似于:    主管/主管5                 4                 3                 2                 1

我想将3移到头部而不丢失其他任何提交:    主管/主管3                 5                 4                 2                 1个 这是rebase的目的吗? (显然,我是新来的)

想法?预先感谢

2 个答案:

答案 0 :(得分:1)

使用git rebase:

 git rebase -i HEAD~5

HEAD~之后有五个数字-它与您的提交相同。执行此命令后,您的编辑器 * 应该运行。它具有您最近5次提交的列表(还记得HEAD~5吗?)。现在,在显示的提交列表上更改提交的位置,并保存并关闭编辑器。大功告成提交的位置已更改。

* How do I make Git use the editor of my choice for commits?

答案 1 :(得分:0)

如果您要对修订进行重新排序,就很简单:

git checkout 2
git cherry-pick 3..5 # this will discard revision 3 so changes from revisions 4 and 5 will be applied
git cherry-pick 3 # apply change from revision 3
# if you like the result
git branch -f master
git checkout master
# push -f if needed because you rewrote history