分支管理:python
branch命令git
git branch #查看分支列表編輯器
git branch -v #查看分支列表,更詳細的ide
git branch -a #查看全部的分支,保護遠程分支測試
git branch --merged #查看那些分支已經合併到當前分支網站
git branch --no-merged #查看全部爲合併的分支utf-8
git branch -d #刪除指定分支(已合併,不會形成工做丟失的分支)開發
git branch -D #強制刪除指定分支(慎用,可能會形成工做丟失)get
工做流程實例:工作流
分支的新建與合併
實際工做中可能會用到相似的工做流,你將經歷以下步驟:
一、開發某個網站
二、爲實現某個新的需求,建立一個分支
三、在這個分支上開展工做
正在此時,忽然有一個嚴重的bug須要解決,你將按照以下方式來處理:
一、切換到你的線上分支
二、爲這個緊急任務新建一個分支,並在其中修復它
三、在測試經過以後,切換回線上分支,而後合併這個修補分支,最後將改動推送到線上分支
四、切換回你最初工做的分支上,繼續工做
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 checkout master #切換回master分支
git merge test #將test分支合併到master分支
git branch -d test #刪除test分支
git checkout iss53 #切換分支
echo 'import os' > a.py #修改文件內容
git commit -a -m 'v1' #提交
git checkout master #切換回master分支
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' #提交併合併分支