分支以及後悔藥詳解

2022-07-26 05:03:15 字數 1262 閱讀 4953

最佳實踐: 每次切換分支前 當前分支一定得是乾淨的(已提交狀態)

坑: 在切換分支時 如果當前分支上有未暫存的修改(第一次) 或者 有未提交的暫存(第一次)

分支可以切換成功 但是這種操作可能會汙染其他分支

動三個地方

head

暫存區工作目錄

工作區

如何撤回自己在工作目錄中的修改 : git checkout --filename

暫存區 如何何撤回自己的暫存 : git reset head filename

版本庫

如何撤回自己的提交 : git commit --amend

1.注釋寫錯了,重新給使用者一次機會改注釋

git log    :  

git reflog : 主要是head有變化 那麼git reflog機會記錄下來

三部曲 第一部: git rest --soft head~ (--amend)

只動head (帶著分支一起移動)

第二部: git reset [--mixed] head~

動head (帶著分支一起移動)

動了暫存區

第三部: git reset --hard head~

動head (帶著分支一起移動)

動了暫存區

動了工作目錄

git  checkout commithash   &   git reset --hard commithash         

1. checkout只動head --hard動head而且帶著分支一起走

2. checkout對工作目錄是安全的 --hard是強制覆蓋工作目錄

git checkout commithash

git checkout --filename

相比於git reset --hard commithash --filename

第一 第二步都沒做

只會動了工作目錄

git checkout commithash 將會跳過第 1 步

更新暫存區

更新工作目錄

git reset head filename     (reset 將會跳過第 1 步)    

動了暫存區

git常見後悔藥

撤銷本地全部沒有git add過的修改 git checkout 使用庫上檔案覆蓋本地修改 當然是指用本地庫覆蓋 git checkout file name 回退掉某一次commit,回退方式是自動生成乙個反向的commit,不會影響其他commmitgit revert commitid 將gi...

git reflog 後悔藥操作

穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。git log commit e475afc93c209a690c39c13a46716e8fa000c366 head master author michael liao date fri may 1821 03 362018 ...

git上的後悔藥

修改上一次提交的文案 git commit amend 複製 我第一次提交時執行了命令 git add git commit m add some thing 但是commit後悔了,需要做一些修改再提交 再次提交的時候執行 git commit amend 這時候log日誌只顯示一條資訊 撤銷操作...