Git高級(jí)命令

① git rebase :在新位置重新提交,改變 commit 序列的基礎(chǔ)點(diǎn)。
把 merge 換成 rebase,操作步驟:

第一步:
git checkout branch1
git rebase master
第二步:
git checkout master
git merge branch1

解釋一下:第一步切換到branch分支上,執(zhí)行rebase,目的是將分支的起點(diǎn)移動(dòng)到想要合并的分支的HEAD上,第二步是切換到主分支,并移到最新的提交(commit)。為避免和遠(yuǎn)端倉(cāng)庫(kù)發(fā)生沖突,一般不要從 master 向其他 branch 執(zhí)行 rebase 操作。


② git --amend 修復(fù)當(dāng)前提交的錯(cuò)誤
注意:并不是在原來(lái)那個(gè)commit 上修改,而是生成了一個(gè)新的提交。


③ 場(chǎng)景:想修改完善之前的提交(commit)

  1. git rebase -i 目標(biāo)commit : 發(fā)出想要修改的請(qǐng)求,會(huì)彈出git編輯界面,將想要修改的commit 對(duì)應(yīng)的 pick修改為edit(應(yīng)用這個(gè) commit,然后停下來(lái)等待繼續(xù)修正),然后rebase 過(guò)程已經(jīng)停在修改的 commit 的位置。
    2.在該commit上進(jìn)行修改,commit --amend 來(lái)把修正應(yīng)用到當(dāng)前最新的 commit;
    3.操作完成之后用 git rebase --continue 來(lái)繼續(xù) rebase 過(guò)程。將修改的commit 后面的提交應(yīng)用到該rebase上。

④ 拋棄原來(lái)的提交(回滾)
git reset --hard HEAD^
git reset --hard 目標(biāo)commit

HEAD 表示 HEAD^ 往回?cái)?shù)一個(gè)位置的 commit


⑤撤銷過(guò)往的提交
兩種方式:

  1. git rebase -i 在編輯界面中刪除想撤銷的 commits
  2. git rebase --onto 在 rebase 命令中直接剔除想撤銷的 commits

--onto 后面有三個(gè)參數(shù):目標(biāo) commit、起點(diǎn) commit(注意:rebase 的時(shí)候會(huì)把起點(diǎn)排除在外)、終點(diǎn) commit。


⑥ reset
--hard:重置位置的同時(shí),清空工作目錄的所有改動(dòng);
--soft:重置位置的同時(shí),保留工作目錄和暫存區(qū)的內(nèi)容,并把重置 HEAD 的位置所導(dǎo)致的新的文件差異放進(jìn)暫存區(qū)。
--mixed(默認(rèn)):重置位置的同時(shí),保留工作目錄的內(nèi)容,并清空暫存區(qū)。

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

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

  • 命令 1:查看歷史記錄 git log 可以查看所有提交記錄 命令 2:git commit --amend 適...
    青果果閱讀 532評(píng)論 0 0
  • Add & Commit git init 初始化一個(gè) Git 倉(cāng)庫(kù)(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 5,132評(píng)論 0 9
  • 以下筆記主要參考gitgot,大致了解git使用和原理。 第一部分我們從個(gè)人的視角去研究如何用好Git,并且揭示G...
    carolwhite閱讀 2,526評(píng)論 0 1
  • 查看另一文章【git基礎(chǔ)教程】 目錄 洞悉工作順序git命令總結(jié) 一、洞悉[1] 本地分支與遠(yuǎn)程倉(cāng)庫(kù)聯(lián)系關(guān)系總結(jié):...
    js_hcl閱讀 694評(píng)論 0 1
  • Git飛行規(guī)則(Flight Rules) 前言 英文原版README 翻譯可能存在錯(cuò)誤或不標(biāo)準(zhǔn)的地方,歡迎大家指...
    騎摩托馬斯閱讀 1,684評(píng)論 0 8

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