Git分支
有人把 Git 的分支模型稱為它的`‘必殺技特性’',也正因為這一特性,使得 Git 從眾多版本控制系統中脫穎而出。
創建git分支命令
git branch feature
切換分支
git checkout feature //切換到feature分支
git log --decorate --oneline //查看提交情況
合併分支
git merge 分支名 //合併分支
合併分支的時候需要切到主分支,然後執行合併分支命令,
git merge feature
需要合併進來的分支名。有時候合併分支會需要處理衝突,如下面這種情況:查看兩個文件差異命令
可以看到兩個分支同一個文件的差異,通過vi命令文件將兩個文件內容進行合併,然後再次提交就可以了。
git reset命令和git checkout
恢復文件
checkout和reset命令都可以用於恢復指定快照的文件,並且它們都不會該表HEAD指針的指向
reset命令只將指定文件恢復到暫存區域(--mixed),而checkout命令是同時覆蓋暫存區域和工作目錄
git 不允許使用 reset --soft 和 --hard 選項用於文件恢復
恢復快照
reset命令用來回到過去,reset命令移動HEAD指針(--soft)->覆蓋暫存區域(--mixed,默認)->覆蓋工作目錄(--hard)
checkout 命令用於切換分支,事實上通過移動HEAD指針覆蓋暫存區域和工作目錄實現的
區別:對於reset --hard來說,checkout命令更安全,因為checkout命令在切換分支前會檢查一下當前工作狀態,reset--hard命令是直接覆蓋所有數據
區別:git reset --hard 分支,原來的快照會消失,git checkout 分支,原來的分支不會消失
閱讀更多 樂邪 的文章