第二章 Git分支機制

2021-08-21 18:26:29 字數 1166 閱讀 2160

一 分支機制簡述

當你發起提交時,git儲存的是提交物件,其中包含了指向暫存區快照的指標。提交物件也包括作者姓名和郵箱位址,已輸入的提交資訊以及指向其父提交的指標。初始提交沒有父提交,而一般的提交會有乙個父提交;對於兩個或更多分支的合併提交來說,存在著多個父提交。

git的分支只不過是乙個指向某次提交的輕量級的可移動指標。git預設的分支名稱是master。當你發起提交時,就有了乙個指向最後一次提交的master分支。每次提交時,它都會自動向前移動。

1, 建立新分支:git branch testing

(1)現在你仍然處在master分支上,因為git branch命令只會建立新分支,而不會切換到新的分支上去。

(2)git 維護著乙個名為head的特殊指標,是乙個指向當前所在的本地分支的指標。

(3)通過git log命令檢視各個分支當前所指向的物件,需用到–decorate。

2 切換分支:git checkout

分支切換會更改工作目錄檔案。如果你切換到較舊的分支,工作目錄會被恢復到該分支上最後一次提交的狀態。

現在讓我們對testing分支做一些修改:

然後切換回master,並做一些改動及提交:

現在專案歷史已經產生了分支。你建立並切換到了新的分支,在新分支上做了一次修改,然後又切換回你的主分支並做了另一次修改。這兩次修改是在不同的分支上做出的,彼此互相分離。你可以在分支中自由切換,當你準備好了之後可以合併這些修改。使用git log檢視:

git log –oneline –decorate –graph –all 命令會輸出提交歷史,顯示出分支的指向以及專案歷史的分叉情況。

第二章Git 基礎 Git 別名

在我們結束本章 git 基礎之前,正好有乙個小技巧可以使你的 git 體驗更簡單 容易 熟悉 別名。如果不想每次都輸入完整的 git 命令,可以通過git config檔案來輕鬆地為每乙個命令設定乙個別名。這裡有一些例子你可以試試 git config global alias.co checkou...

Git學習筆記 第二章

git status 位於分支 master 尚未暫存以備提交的變更 使用 git add 更新要提交的內容 使用 git checkout 丟棄工作區的改動 修改 redme.txt 未跟蹤的檔案 使用 git add 以包含要提交的內容 redme.txt 修改尚未加入提交 使用 git add...

Git學習第二章第二節

你不斷對檔案進行修改,然後不斷提交修改到版本庫里,就好比玩rpg遊戲時,每通過一關就會自動把遊戲狀態存檔,如果某一關沒過去,你還可以選擇讀取前一關的狀態。有些時候,在打boss之前,你會手動存檔,以便萬一打boss失敗了,可以從最近的地方重新開始。git也是一樣,每當你覺得檔案修改到一定程度的時候,...