分支

分支的切換

若要切換分支,請使用"checkout"命令。執行checkout之後,工作目錄裡的檔案會根據切換到不同的分支而呈現該分支最後提交的內容。checkout之後的提交,則屬於切換後的分支的。

切換分支

HEAD

在Git,HEAD代表當前分支的最新提交名稱。在建立新的數據庫時,Git會預設HEAD指向master分支。您可以藉著移動HEAD的指向,更新正在使用的分支。

Note

指向提交時用~(Tilde)和^(caret),指向某個提交的相對位置。最常用的就是在HEAD後面加上~(Tilde)可以指向第幾代的父代;^(caret) 可以指向幾世代以前的父代。

用Tilde和caret指向提交的相對位置

Stash

還未提交的修改內容或新增檔案,留在工作目錄尚未提交的情況下checkout到其他的分支時,修改內容會從原來的分支移動到切換後的分支。

但如果在切換後的分支中有相同檔案,而且有任何修改的話,checkout會失敗。這時一定要先提交修改內容,或者將修改內容放到stash中暫時儲存後再checkout。

Stash是暫時儲存檔案修改內容的區域。Stash可以暫時儲存工作目錄還沒提交的修改內容,您可以在事後再取出暫時儲存的修改,應用到原先的分支或者其他的分支中。

stash