1. 程式人生 > >版本控制git(三)-git分支

版本控制git(三)-git分支

  首先,我們要弄明白什麼是分支。通過git log 命令我們可以檢視版本庫的提交日誌,如圖:

  那麼這些commit之間存在什麼關係呢?實際上每次commit的時候,提交物件都會儲存一個指向上次一commit版本的指標,經過多次提交之後,git通過這個指標將多個提交版本串成了一個串,如下圖:

  分支實際上就是從某個提交版本向前的的歷史,到目前為止Git中只有一個分支,這個分支我們稱為主分支,預設名稱為master。每提交一次,master就會向前移動一步,指向最新的提交版本。

建立新的分支

  那麼在Git中,我們如何建立新的分支呢,非常簡單可以用使用Git命令:git branch

分支名字。

  這樣我們就建立了一個名為:jredu_branch_01的分支,注意此分支是建立在當前的commit版本物件上的,如下圖所示:

 

  現在我們有了兩個分支,那麼Git如何知道當前的工作分支呢?其實在Git中儲存著一個名為HEAD的特別指標,這個指標指向了當前的工作分支。

切換分支

  使用“git branch 分支名字”只是建立了一個分支,並不會切換到新建的分支中,如果想切換分支,我們應該使用命令:git checkout 分支名字

  切換後,HEAD就指向了Jredu_branch_01,示意圖如下:

  我們在jredu_branch_01分支下進行工作,通過命令”git add”和”git commit”新增新的檔案並提交後,新的分支示意圖如下:

  從示意圖可以看出新分支jredu_branch_01向前移動了一步,而主分支master還停留在原來的版本上。

檢視分支

  在Git中存在多個分支,如何檢視並知道當前工作分支呢?檢視命令:git branch

  可以看到共有兩個分支master和jredu_branch_01,“*”表明了當前的工作分支。

合併分支

  有了分支之後,我們就可以方便的進行協作開發,這樣就可以能會產生多個分支,那麼如何進行分支合併呢?Git提供的合併命令:git merge 被合併的分支

  具體步驟,首先返回master分支,其次執行合併命令:

  這樣我們就將jredu_branch_01分支合併到了master分支之上。

刪除分支

  Jredu_branch_01分支被合併到master之後,就沒有用處了,這裡我們可以選擇刪除它,Git中刪除分支的命令:git branch –d 要刪除的分支

合併衝突

  在合併分支的過程中,如果遇到不同的分支對相同的檔案都做了修改,那麼合併就不會那麼順利了,經常會看到如下的資訊:

 

  這個時候git雖然做了合併,但是沒有提交,需要解決衝突之後才能提交。通過git status命令我們可以看到衝突的檔案

  開啟衝突的檔案,我們看到具體的檔案內容

 

  檔案中使用“=========”分割不同的分支檔案修改中衝突的部分,“<<<<<<<<HEAD”部分是master分支修改的內容,”>>>>>>>>>>>jredu_branch_01”部分是分支jredu_branch_01分支修改的內容。

  修改檔案後,使用git add命令,並使用git status檢視衝突 狀態,並最終提交。

 

  這樣就解決了衝突的問題,完成了最終的合併。

  總結一下Git分支的相關命令

建立分支:git branch 分支名字

切換分支:git checkout 分支名字

檢視分支:git branch

合併分支:git merge 要合併的分支

刪除分支:git branch –d 要刪除分支

  疑問諮詢或技術交流,請加入官方QQ群:JRedu技術交流 (452379712)

作者:傑瑞教育
出處: 
本文版權歸煙臺傑瑞教育科技有限公司和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。

相關推薦

版本控制git()-git分支

  首先,我們要弄明白什麼是分支。通過git log 命令我們可以檢視版本庫的提交日誌,如圖:   那麼這些commit之間存在什麼關係呢?實際上每次commit的時候,提交物件都會儲存一個指向上次一commit版本的指標,經過多次提交之後,git通過這個指標將多個提交版本串成了一個串,如下圖:

版本控制工具之Git

但是 不想 之前 設置 xxx 遠程 -o span 兩種 git三層結構 工作區working directory 暫存區staging index 版本庫git directory(Repository) Git文件的四種狀態 untracked未被追蹤 Modifie

分散式版本控制系統:Git學習筆記

文章目錄 概述 Git是什麼 Git的安裝 建立版本庫 編寫檔案上傳 使用GitHub 概述 身為DBA的我前夕確實對於程式碼比較陌生啊,Git也是很少聽過。

用於硬體設計的開源版本控制系統(Git

本文轉自:http://www.eetop.cn/blog/html/28/1561828-437263.html 版本控制系統是每一個開發流程中不可或缺的一部分。傳統上,硬體設計公司為單獨一個工程使用一箇中央版本控制系統,但這樣會強加給硬體團隊很大的侷限性。一個流行的可緩解此問題的解決方案就是

【分散式版本控制系統】GIT問題彙總

一.Git 安裝(on Windows) 版本:git-2.12.1-64-bit.exe 官網即可下載(慢) ✓ Use Git from the Windows ✓ Use the OpenSSL library ✓ Checkout Windo

版本控制軟件git相關操作

一個 查看版本 git reset 版本 命令 指定 reset 文件夾 創建 git是一個用於幫助用戶實現版本控制相關操作的軟件 常用的命令操作: git init 初始化管理目錄 git status 查詢當前文件夾狀態 (是否有更新文件) git add 文件名 對當

版本控制系統之git

未完待續 1 是什麼 當多人協作開發一套產品時,需要能夠保證程式碼都能夠共用,那麼版本控制系統就應運而生。 當前用的比較多的是svn和git,本文以git為例進行講解。 git誕生於2005年,該系統開發者對該系統制定了若干目標: 速度 簡單的設計 對非線性開發模式的強力支援 完全分散式 有

關於版本控制軟體以及Git的簡單介紹

以下內容從Pro Git這本書獲取,該書的PDF下載連結 https://git-scm.com/book/zh/v2 本章介紹開始使用 Git 前的相關知識。我們會先了解一些版本控制工具的歷史背景,然後試著讓 Git 在你的系統上跑起來,直到最後配置好,可以正

版本控制SVN與Git

SVN 作為一個開源的版本控制系統,管理著隨時間改變的資料,這些資料放置在一箇中央資料檔案庫(repository)中。這個庫就像一個普通的檔案伺服器,它會記住每次檔案的變動。我們可以瀏覽檔案

最全Pycharm教程(39)——Pycharm版本控制之本地Git用法

  1、主題   介紹如果通過Pycharm使用本地Git集。   2、準備工作     (1)PyCharm版本為2.7或更高   (2)已經建立一個工程   (3)Git外掛可用,對應可執行檔案在 Git page頁面正確配置   3、建立一個Git集

版本控制與常見的分支模型

一直為軟體版本釋出困擾,開發人員需要不斷前進完成功能,測試人員在後面緊跟測試,售後人員需要穩定版本上線,三者間沒有達成統一的認識,產品或者專案到底怎樣才算穩定版本。 目前公司配置管理在策略上採用的是不穩定主幹(unstable trunk) 模式,所有的專案都在同一

iOS - Git 分支(分布式版本控制系統)

可變 顯示 starting 強制 under 有意 方案 添加 ive 前言 幾乎所有的版本控制系統都以某種形式支持分支。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。在很多版本控制系統中,這是一個略微低效的過程——常常需要完全創建一個源代碼目錄

Git 分支(分散式版本控制系統)

前言 幾乎所有的版本控制系統都以某種形式支援分支。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。在很多版本控制系統中,這是一個略微低效的過程——常常需要完全建立一個原始碼目錄

GIT版本控制GIT與SVN的相互轉換 ()

git-svn git-svn用於Git和SVN的轉換,可以把Git倉庫遷移成SVN倉庫,反之亦可。 詳細介紹可見[1],或者命令列輸入git-svn。 Bidirectional operation between a Subversion repository an

分散式版本控制系統Git------分支管理與合併(merge與rebase)

零、需要使用到的命令:        git branch                                  檢視當前分支。        git branch <name

git版本控制:如何處理當前分支為*(no branch)的情況

在使用git branch命令檢視當前環境所在的開發分支時,如果出現*(no branch),則表示當前不處於任何分支,這時可以通過如下幾種方法處理,以便於後續專案版本的管理: 1:git checkout -b 分支名;此時新建立的分支與*(no branch)軟體一樣

版本控制git-多人協作

exit 刪除 fir 一個地方 含義 files fas 公開 nothing 如果你想獲得一份已經存在了的 Git 倉庫的拷貝,比如說,你想為某個開源項目貢獻自己的一份力,這時就要用到 `git clone` 命令。 如果你對其它的 VCS 系統(比如說Subve

版本控制git之二-分支

狀態 位置 快照 實驗 nta src 而是 這樣的 del 有人把 Git 的分支模型稱為它的`‘必殺技特性’‘,也正因為這一特性,使得 Git 從眾多版本控制系統中脫穎而出。 為何 Git 的分支模型如此出眾呢? Git 處理分支的方式可謂是難以置信的輕量,創建新分支這

基於GitLab與Git Extensions搭建版本控制工具

基本 cmd img html nat 需求 無法 spa hang 1.背景   大家知道GitHub是現在非常流行的代碼托管工具,但是如果有些項目不想開源的話,則需要付費,因此萌生了自己搭建一個Git的版本控制工具,供內網使用。GitLab則是個好的選擇,但是GitL

git 對 Microsoft Word 進行版本控制

dcl code 版本控制系統 documents custom ec2 adobe pen you   昨天中國高校發生了一件駭人聽聞的事情,聽說不少高校的校園網用戶連接校園網被勒索病毒給黑了,重要文件全部被加密,必須要支付贖金才能解密,具體新聞可以參見:http://w