我在Git上有一个问题要解决,这是我们执行的步骤序列
假设我在主人身上做了3次提交
- commit-1
- commit-2
- commit-3
现在我结帐到commit-2
git checkout commit-2
然后我做了commit-4
现在我想保留主分支上的所有四个提交,我的主分支 git log 应按以下顺序查看
Commit-3
commit-4
commit-2
commit-1
我如何实现它?
答案 0 :(得分:1)
我会这样做
首先提交提交1,2,3
git commit -am "commit 1"
git commit -am "commit 2"
git commit -am "commit 3"
然后你回去提交2
git checkout <<hash or HEAD^>
然后你提交提交4
git commit -am "commit 4"
然后你将你的分离头合并到新头
git merge <<reference of commit 3>>
如果有更好的方法,请注释掉
答案 1 :(得分:1)
一旦结帐commit-2
,您就在detached HEAD mode。
要做的第一件事就是创建一个commit-4
所在的分支:
git checkout commit-2
git add ...
git commit -m "commit-4"
git checkout -b tmp
1--2--3 (master)
\
4 (tmp)
然后,您可以在其上重新master
,以便在commit-3
commit-4
git rebase tmp master
1--2--4--3 (master, tmp)