Git 签出 <commit> 然后提交并保留所有提交
Git checkout <commit> and then commit and retain all commits
我有一个问题要在 Git 上解决,这是我们执行的步骤顺序
假设我在 master 上进行了 3 次提交
- commit-1
- commit-2
- commit-3
现在我结帐到 commit-2
git checkout commit-2
然后我提交 4
现在我想保留主分支上的所有四个提交,我的主分支的 git log 应该查看以下顺序
Commit-3
commit-4
commit-2
commit-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^>
然后你提交 commit 4
git commit -am "commit 4"
然后将分离的头合并到新的头中
git merge <<reference of commit 3>>
如果有更好的方法请评论出来
结账 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-4
上面重播 commit-3
git rebase tmp master
1--2--4--3 (master, tmp)
我有一个问题要在 Git 上解决,这是我们执行的步骤顺序
假设我在 master 上进行了 3 次提交
- commit-1
- commit-2
- commit-3
现在我结帐到 commit-2
git checkout commit-2
然后我提交 4
现在我想保留主分支上的所有四个提交,我的主分支的 git log 应该查看以下顺序
Commit-3
commit-4
commit-2
commit-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^>
然后你提交 commit 4
git commit -am "commit 4"
然后将分离的头合并到新的头中
git merge <<reference of commit 3>>
如果有更好的方法请评论出来
结账 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-4
commit-3
git rebase tmp master
1--2--4--3 (master, tmp)