Git命令之分支詳解
1.1 概述
在 Git
中提交時,會保存一個 commit
對象,該對象包含一個指向暫存內(nèi)容快照的指針,包含本次提交的作者等相關(guān)的附屬信息,包含零個或者多個指向該提交對象的父對象指針;首次提交時沒有直接祖先的,普通提交有一個祖先,由兩個或者多個分支合并產(chǎn)生的提交則有多個祖先。
1.1.1 示例
在工作目錄中有三個文件,準備將他們暫存后提交。暫存操作會對每一個文件計算校驗和(SHA-1哈希串),然后把當(dāng)前版本的文件快照保存在 Git
倉庫中(Git使用blob類型的對象存儲這些快照), 并將校驗和加入暫存區(qū)域。 當(dāng)使用 git commit
新建一個提交對象前,Git 會先計算每一個子目錄的校驗和嗎,然后在 Git
倉庫中將這些目錄保存為樹(對象);之后 Git
創(chuàng)建的提交對象,除了包含提交信息外,還包含了指向整個樹對象的指針。這樣將來需要的時候,重現(xiàn)此次快照的內(nèi)容了。
$ git add text1.md text2.md tesxt3.md $ git commit -m "init desc"
現(xiàn)在倉庫中有了五個對象:三個文件表示快照內(nèi)容 blob
對象;一個記錄這目錄樹內(nèi)容和其中各個文件對應(yīng) blob
對象索引的 tree
對象;還有就是一個包含指向 tree
對象的索引和其他提交信息源數(shù)據(jù)的 commit
對象。
修改后再次提交,這次提交的對象會包含上一個指向上次提交對象的指針。兩次提交后變成下面這樣。
Git
中的分支,其實本質(zhì)上僅僅是個指向 commit
對象的可變指針。Git
會將 master
作為分支的默認名字。若干次提交以后,其實已經(jīng)有一個指向最后一次提交對象的 master
分支,他在每次提交的時候都會向前移動。
1.1.2 創(chuàng)建分支
使用命令 git branch
創(chuàng)建分支
$ git branch testing
Git
保存著一個名為 HEAD
的特別的指針。在 Git 中他是一個指向你正在工作中的本地分支的指針。運行 git branch
命令,僅僅是建立了一個新的分支,但是不會自動切換到這個新建的分支中。
1.1.3 切換分支
使用命令 git checkout
切換分支:
$ git checkout testing
1.2 新建和合并
使用命令創(chuàng)建并切換分支
$ git checkout -b <分支名稱>
合并分支,將開發(fā)分支合并到 master
主分支中
$ git checkout master $ git merge <開發(fā)分支>
刪除分支
$ git branch -d <分支名稱>
解決沖突, =======
隔開的上半部分,是 HEAD
(即 master
分支,在運行 merge
命令時所切換到的分支)中的內(nèi)容。下半部分是在開發(fā)分支的內(nèi)容。
<<<<<<< HEAD:index.html <div id="footer">contact : email.support@github.com</div> ======= <div id="footer"> please contact us at support@github.com </div> >>>>>>> iss53:index.html
1.3 管理分支
列出所有的分支
$ git branch
列出各個分支最后一個提交對象的信息
$ git branch -v
1.4 遠程分支
遠程分支是對遠程倉庫中分支的索引。通過 git fetch origin
來同步遠程服務(wù)器上的數(shù)據(jù)到本地。
推送本地的開發(fā)分支到遠程
$ git push origin <開發(fā)分支名>
刪除遠程分支
$ git push origin :<開發(fā)分支名>
1.5 分支的擴展
git rebase ing
到此這篇關(guān)于Git命令之分支詳解的文章就介紹到這了,更多相關(guān)Git命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP數(shù)組生成XML格式數(shù)據(jù)的封裝類實例
這篇文章主要介紹了PHP數(shù)組生成XML格式數(shù)據(jù)的封裝類,結(jié)合完整實例形式分析了php針對數(shù)組的遞歸遍歷與XML格式數(shù)據(jù)轉(zhuǎn)換的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11PHP簡單數(shù)據(jù)庫操作類實例【支持增刪改查及鏈式操作】
這篇文章主要介紹了PHP簡單數(shù)據(jù)庫操作類實例,支持增刪改查及鏈式操作,非常適合小型項目的開發(fā)使用,末尾還提供了完整實例的下載地址,需要的朋友可以參考下2016-10-10php時區(qū)轉(zhuǎn)換轉(zhuǎn)換函數(shù)
godaddy主機在國外。把站點建站國外,顯示時間時可能需要時區(qū)轉(zhuǎn)換,下面是個方便的工具函數(shù),用于時區(qū)轉(zhuǎn)換2014-01-01PHP+SQL 注入攻擊的技術(shù)實現(xiàn)以及預(yù)防辦法
最近在折騰 PHP + MYSQL 的編程。了解了一些 PHP SQL 注入攻擊的知識,總結(jié)一下經(jīng)驗。在我看來,引發(fā) SQL 注入攻擊的主要原因,是因為以下兩點原因2011-01-01關(guān)于PHP自動判斷字符集并轉(zhuǎn)碼的詳解
本篇文章是對PHP自動判斷字符集并轉(zhuǎn)碼進行了詳細的分析介紹,需要的朋友參考下2013-06-06