我的本地存盤庫中有一個提交(A),我不打算推??送。現在,HEAD 位于 A。假設我想創建另一個提交 (B) ,而不是在提交 (A) 之上,而是在前一個提交之上而不是提交 (A)。
如何在不丟失最新提交(A)的情況下將本地 HEAD 分配給上一個提交?
我不想撤消/洗掉提交(A),我想保存它以供以后重新定位到我分支中的最新提交。創建提交 B 后,我想將 commit(A) 放在 commit(B) 之上。
有一些像 :-
C1 -> C2 -> A(頭部)
到最后
C1 -> C2 -> B -> A(HEAD)(最終)
我怎樣才能做到這一點?
編輯:- 我有一個限制,不使用另一個分支來做到這一點。
uj5u.com熱心網友回復:
使用變基
您現在可以創建一個新的提交,然后rebase -i重新排序它們。
(create B)
git rebase -i head?2
(in the resulting pick list, re-order A and B)
(Use `dd` and `P` to delete and paste lines)
!wq // Exit vim
有一個臨時分支
git checkout -b temp
git reset --hard head?1
(create B)
git cherry-pick A
git checkout - // Checkout whatever your previous branch was
git reset --hard temp
uj5u.com熱心網友回復:
從你的分支,
# Save your branch with its commit A on a new branch
git branch backup_A
# Restore your branch one commit back
git reset --hard HEAD~
backup_A當您在 B 上作業時,您的提交 A 將在分支上等待您。
當你完成了你的提交 B 并想要 A 在上面時,只需將其挑選回來:
git cherry-pick backup_A
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488198.html
標籤:混帐
上一篇:如何僅對特定提交進行變基?
