git學習三(本地分支)

2021-06-21 04:06:25 字數 1582 閱讀 8783

1) git commit 提交三個檔案物件以後的git倉庫物件

git 倉庫中有五個物件:三個表示檔案快照內容的 blob 物件;乙個記錄著目錄樹內容及其中各個檔案對應 blob 物件索引的 tree 物件;以及乙個包含指向 tree 物件(根目錄)的索引和其他提交資訊元資料的 commit 物件。概念上來說,倉庫中的各個物件儲存的資料和相互關係看起來如圖 3-1 所示:

git 中的分支

圖 3-3. 分支其實就是從某個提交物件往回看的歷史,其實本質上僅僅是個指向 commit 物件的可變指標

3) git branch

git 又是如何建立乙個新的分支的呢?答案很簡單,建立乙個新的分支指標

執行git branch命令,僅僅是建立了乙個新的分支,但不會自動切換到這個分支中去

由於 git 中的分支實際上僅是乙個包含所指物件校驗和(40 個字元長度 sha-1 字串)的檔案,所以建立和銷毀乙個分支就變得非常廉價。說白了,新建乙個分支就是向乙個檔案寫入 41 個位元組(外加乙個換行符)

4) head

git 是如何知道你當前在哪個分支上工作的呢?其實答案也很簡單,它儲存著乙個名為 head 的特別指標。

將 head 想象為當前分支的別名

切換分支 git checkout testing, 這樣 head 就指向了 testing 分支

6) git checkout -b iss53

相當於git branch iss53

git checkout iss53

7) git merge

原本在master分支上,新建乙個分支hotfix,在分支上作修改,並且commit,切回master分支,

執行git merge hotfix,會把hotfix上的修改合併到master分支上

8) git branch -d hotfix

刪除hotfix分支

9) git merge 解決衝突

執行命令以後,git 作了合併,但沒有提交,它會停下來等你解決衝突,

任何包含未解決衝突的檔案都會以未合併(unmerged)的狀態列出

git 會在有衝突的檔案裡加入標準的衝突解決標記,可以通過它們來手工定位並解決這些衝突。

在解決了所有檔案裡的所有衝突後,執行git add將把它們標記為已解決狀態

10) 本地git倉庫

在很多情況下,分支全部都是本地分支,這一點很重要。當你在使用分支及合併的時候,

一切都是在你自己的 git 倉庫中進行的 — 完全不涉及與伺服器的互動。

git使用教程三 本地分支操作

git branch testing 建立新分支testing git checkout b testing 建立並切換到testing分支 git checkout b testing master 基於master分支建立並切換到testing分支 git checkout testing 切換...

Git學習筆記(一) 本地Git

如果你是初次使用git,就要把自己的使用者名稱和郵箱告訴git,git據此區分提交 的作者。git config global user.name wen ke git config global user.email 306674698 qq.com 檢視使用者名稱和郵箱 gitconfig gl...

GitHub教程學習筆記1 本地Git管理

寫在前面 為啥寫學習筆記?因為有一句我覺得挺有道理 你教別人學習,自己的理解也會加深 想想是不是?初高中那些學霸們各個都是小老師 貌似曾今我也是呢哈哈 當然,廖老師的教程是極好的,我把學習的指令做了下面的總結,如果已經看過老師課程,有些指令不太記得的話,可以看看這個 cd e cuiyue t gi...