Git分佈式版本管理系統前夜2

1.分支的基本概念:分支就是指針的變換。將一個文件add進暫存區時:首先將文件的快照存入數據庫。同時計算文件的校驗和存入暫存區等待提交。提交commit操作會爲每個子目錄計算校驗和,將各個子目錄的校驗和生成一個樹對象,git還會生成一個提交對象,提交對象中包含樹對象。當再次執行提交操作時,這次的提交對象會包含上次提交對象的指針。分支即是指向提交對象的指針。而HEAD是指向當前分支。

2.分支的快進:從master分支上新建立一個分支。新建分支所需解決問題得以解決。當將master分支和新建分支合併時就叫做快進。因爲只是將master的指針改變了,指向新建分支所指。合併分支的命令:git merge branchname


3.刪除一個分支的命令:git branch -d branchname

4.切換分支命令:git checkout branchname       新建分支並切換:git checkout -b branchname

5.分支的合併


像這種情況的合併Git 會將c5 c2 c4合併成c6,並自動選擇一個最優的commit作爲c6的祖先。

6.有衝突的合併:當兩個分支都對同一個文件進行了更改並提交。這時將一個分支合併到另一個分支,就會參生衝突。解決方法時修改一個分支的文件的衝突部分爲另一個分支的相應部分。如果兩個分支產生衝突,在各自發生衝突的文件裏都會生成衝突標記。當解決了衝突,在分支中git add 文件,就會消除文件中的衝突標記。

分支管理工具:

7.查看每個分支的最後一次提交:git branch -v

8.查看哪些分支已經合併到當前分支:git branch --merged    哪些沒有合併到當前分支:git branch --no-merged

9.刪除分支:git branch -d 分支名    強制刪除:git branch -D   分支名

10.遠程分支:當你clone一個項目時,會在本地建立一個master分支跟蹤遠程master分支,同步將本地分支更新爲遠程分支:git fetch 遠程服務器縮寫名。gti pull 遠程服務器縮寫名  這個命令個git fetch 命令相似,區別是:fetch命令不會自動合併本地文件,但是pull命令會合並本地文件空間的文件。將本地分支更新到遠程分支:git push 遠程服務器縮寫名 遠程分支名。創建一個本地分支並且跟蹤一個遠程分支:git checkout -b 本地分支名    遠程服務器縮寫名/遠程分支名。查看有哪些跟蹤分支:git branch -vv。刪除遠程分支:git push origin --delete 遠程分支名。

發佈了64 篇原創文章 · 獲贊 11 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章