Cherry-pick

假設(shè)你在 main 分支,剛做完提交

git branch dev # 新建 dev 分支,指向當(dāng)前提交
git reset --hard HEAD~1 # main 回退到上一個(gè)提交,改動(dòng)會從 main 上消失
現(xiàn)在 dev 分支上保留了你剛做的改動(dòng),main 恢復(fù)干凈。

情況二:開發(fā)分支已經(jīng)存在
需要把提交“摘”過去,再清理基分支。

bash

1. 先查看提交歷史,記住最新提交的 hash(假設(shè)是 abc1234)

git log --oneline -3

2. 切換到開發(fā)分支(如 dev)

git checkout dev

3. 把那個(gè)提交摘到 dev 上

git cherry-pick abc1234

如果有沖突,解決后 git add . && git cherry-pick --continue

4. 切回基分支,撤銷那個(gè)提交

git checkout main
git reset --hard HEAD~1 # 或者 git reset --hard abc1234 的前一個(gè)提交
如果 dev 和 main 差異較大,cherry-pick 可能沖突,正常解決即可。

?? 動(dòng)手前務(wù)必確認(rèn)
當(dāng)前工作區(qū)干凈(git status 無未提交文件)。

用 git log --oneline -3 確認(rèn)最新提交就是你想移動(dòng)的那一個(gè)。

如果擔(dān)心出錯(cuò),可先備份:git branch backup-main。

這樣你就把代碼安全挪到自己的開發(fā)分支,基分支也恢復(fù)原狀了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容