天天看點

Git基礎入門(九)Git分支管理

分支管理:

branch指令

    git branch                          #檢視分支清單

    git branch -v                       #檢視分支清單,更詳細的

    git branch -a                       #檢視所有的分支,保護遠端分支

    git branch --merged                 #檢視那些分支已經合并到目前分支

    git branch --no-merged              #檢視所有為合并的分支

    git branch -d                       #删除指定分支(已合并,不會造成工作丢失的分支)

    git branch -D                       #強制删除指定分支(慎用,可能會造成工作丢失)

工作流程執行個體:

分支的建立與合并

    實際工作中可能會用到類似的工作流,你将經曆如下步驟:

        1、開發某個網站

        2、為實作某個新的需求,建立一個分支

        3、在這個分支上開展工作

    正在此時,突然有一個嚴重的bug需要解決,你将按照如下方式來處理:

        1、切換到你的線上分支

        2、為這個緊急任務建立一個分支,并在其中修複它

        3、在測試通過之後,切換回線上分支,然後合并這個修補分支,最後将改動推送到線上分支

        4、切換回你最初工作的分支上,繼續工作

git checkout -b iss53                               #建立并切換到iss53分支

echo '#!/usr/bin/env python' > a.py                 #修改檔案内容

git commit -a -m 'test1'                            #送出

git log --pretty=oneline --decorate                 #檢視分支狀況

git checkout master                                 #切換回master分支

git checkout -b test                                #建立并切換到test分支

echo '#coding:utf-8' > a.py                         #修改檔案内容

git commit -a -m 'testbranch1'                      #送出

git merge test                                      #将test分支合并到master分支

git branch -d test                                  #删除test分支

git checkout iss53                                  #切換分支

echo 'import os' > a.py                             #修改檔案内容

git commit -a -m 'v1'                               #送出

git merge iss53                                     #因為在不同的分支中修改了同一個檔案的不同為,所有産生了沖突

    Auto-merging a.py 

    CONFLICT (content): Merge conflict in a.py 

    Automatic merge failed; fix conflicts and then commit the result.

git status                                          #檢視沖突的情況

git mergetool                                       #打開mergetool開始解決沖突,mergetool會啟用預設的文本編輯器并帶領你解決沖突

git status                                          #檢視是否解決完畢

git add -A                                          #解決完後跟着所有檔案

git commit -m 'ok'                                  #送出并合并分支

本文轉自  紅塵世間  51CTO部落格,原文連結:http://blog.51cto.com/hongchen99/1977998