Git分支管理及開發

一.分支管理git

  1. 分支理解
    分支開發,筆者在這裏說下對於分支的理解,好比如今一個項目工程中有兩個功能點須要開發,因爲開發時間有限,爲了保證功能準時上線,功能開發就須要並行,這時候咱們就用到了分支開發。總之分支開發能是爲了提升開發效率的。segmentfault


  2. 分支的建立
    筆者經歷過svn建立分支和合並分支。那是一件至關痛苦的事情,通常RD極少有建立分支的權限,並且svn建立分支和分支切換也是比較麻煩的,固然如今有不少管理後臺簡化了建立分支的複雜度,學習了git分開建立和合並,你會發現分支開發如此簡單。
    使用"git checkout -b <分支名>",建立新的分支並使用,如圖:圖片描述svn


  3. 分支的查看
    上圖中「git branch」用於查看本地倉庫的分支列表,有時咱們可能僅僅想先建立一個分支而不是馬上就是用,後面在切換分支,此時圖片描述git branch <分支名>」用來建立分支
    "git checkout <分支名>"切換分支
    git checkout」 是否是很眼熟好像在哪裏見過(咱們好像在哪見過,你記得嘛???),是在git本地相關操做(二)使用到的,在文件沒有提交倉庫以前,撤銷本地文件的修改"git checkout -- <file>"
    咱們繼續對introduce.txt文件進行操做:
    (1).test分支的編輯提交到本地倉庫圖片描述
    (2).dev分支編輯提交
    圖片描述學習


  4. 分支衝突解決
    如圖,提示發生衝突
    圖片描述圖片描述
    上面的<<<<<<以上即是的兩個分支共同的部分,=======表示當前分支修改的內容,>>>>>>>表示的合併過來的分支修改的內容,筆者解決的方式都保留這兩個分支修改的內容,執行「git add」、"git commit "從新提交來解決衝突,如圖:圖片描述spa


  5. 分支的合併(不衝突)
    咱們接着上步的操做,切換到master分支,而後將dev分支的內容合併到master上,使用「git merge 分支名圖片描述"git merge 分支名」命令中的分支名是合併時候將該分支中的數據合併到當前分支上,數據的方向你們要搞清楚圖片


  6. 分支的刪除
    git branch -d <分支名>」,如圖:圖片描述開發


  7. 查看各分支路徑
    經過「git log --graph --pretty=oneline」git會以圖形方式顯示各個分支路徑圖片描述get


二.總結it

  1. git命令總結
    git checkout -b <分支名>」建立分支並切換到新建立的分支上
    git branch」查看當前代碼關聯的本地倉庫的分支
    git branch <分支名>」建立分支
    git checkout <分支名>」,切換到指定的分支上,注意與git checkout -- <file>區分
    git分支合併時衝突的解決方式,收修改文件中衝突部門的內容,而後執行「git add」、"git commit "從新提交來解決衝
    "git merge 分支名」合併的方向要搞清楚
    git branch -d <分支名>」分支的刪除
    git log --graph --pretty=oneline」查看git各個分支及分支之間合併的操做及路徑ast


  2. git內部管理分支梳理
    git把每次提交串成一條時間軸,這條時間軸就是git的一個分支,git默認的分支是master;HEAD是浮動的遊標,做用是指向本地代碼修改最新的版本(包括未提交的:處於編輯狀態和staging狀態),關係如圖展現:圖片描述上圖展現的是,在執行完「git commit -m <desc>」的狀態;若是在編輯完,提交前,若是沒有執行"git add",HEAD指向的是工做區;若是執行了「git add」,HEAD執行的是stage區(暫存區)
    建立分支,切換分支,HEAD會發生變化只想當前使用的分支,如圖:圖片描述在多分支開發過程當中,各分支的狀態圖片描述分支合併之後各分支的狀態,以及HEAD遊標的指向狀況,圖片描述注意:上圖合併是將dev分支合併到主要執行的命令:
    git checkout master
    git merge dev
    中間有一次分之切換而後當合並分支時,當前分支實際上代碼是有變化的,變化的部分就是從其餘分支上合併過來的,而後當前分支就至關於發生一次提交,在實踐上有一個節點,表示當前合併之後的代碼狀態。實際開發過程當中,master分支要求是很是穩定的,用於版本發佈的;平時咱們會在dev分支上進行開發,當須要發佈新版代碼的時候,就須要將dev分支的代碼合併到master分支上,同事之間能夠再建立分支進行獨自開發,常常合併到dev分支上便可。

相關文章
相關標籤/搜索