佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Git命令之分支詳解

Git命令之分支詳解

熱門標簽:團購網(wǎng)站 電子圍欄 服務(wù)器配置 Mysql連接數(shù)設(shè)置 阿里云 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) Linux服務(wù)器

1.1 概述

Git 中提交時,會保存一個 commit 對象,該對象包含一個指向暫存內(nèi)容快照的指針,包含本次提交的作者等相關(guān)的附屬信息,包含零個或者多個指向該提交對象的父對象指針;首次提交時沒有直接祖先的,普通提交有一個祖先,由兩個或者多個分支合并產(chǎn)生的提交則有多個祖先。

1.1.1 示例

在工作目錄中有三個文件,準備將他們暫存后提交。暫存操作會對每一個文件計算校驗和(SHA-1哈希串),然后把當前版本的文件快照保存在 Git 倉庫中(Git使用blob類型的對象存儲這些快照), 并將校驗和加入暫存區(qū)域。 當使用 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)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Git合并分支的流程步驟
  • git的遠程分支的作用和本地分支有什么區(qū)別
  • git push 本地項目推送到遠程分支的方法(git命令版)
  • git 將本地文件(夾)上傳到gitee指定分支的處理方法
  • idea手動刷新git分支的詳細教程

標簽:大理 衡水 棗莊 衢州 蚌埠 江蘇 萍鄉(xiāng) 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Git命令之分支詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    托克逊县| 岳池县| 长沙市| 天气| 上虞市| 泸水县| 饶平县| 鹤壁市| 潜山县| 大埔区| 贵德县| 平度市| 林甸县| 温宿县| 科技| 樟树市| 金塔县| 灵丘县| 永泰县| 紫阳县| 杭锦旗| 阿拉善左旗| 汉川市| 柯坪县| 商南县| 安顺市| 慈利县| 奈曼旗| 贵阳市| 临海市| 陇西县| 增城市| 卢龙县| 贵港市| 怀宁县| 越西县| 庆云县| 凤翔县| 古浪县| 多伦县| 曲沃县|