# git分支
>[success]正常情況下,日常開發,會在分支中進行
## git創建分支
~~~
git branch <branchname>
~~~
## 查看當前所在分支
~~~
git branch #查看本地分支
git branch -r # 查看遠程分支
git branch -a #查看所有分支(本地遠程)
~~~
>[danger]執行git branch [選項]命令后,會列表所有分支,前面速星號的即為當前所在分支。如圖:

## 切換分支
~~~
git checkout <branchname>
~~~
## 創建分支并切換到新建分支
~~~
git checkout -b <new_branch> [<start_point>]
~~~
## 刪除分支
刪除本地分支
~~~
git branch -d <branchname>
~~~
刪除遠程分支
~~~
git push --delete origin branch-name
~~~
>[danger]多分支時,在推送時,一定要指定分支
~~~
git push origin <branchname>
~~~
## Git也允許手動建立追蹤關系
~~~
git branch --set-upstream master origin/next
~~~
>[danger]上面命令指定master分支追蹤origin/next分支。
如果當前分支與遠程分支存在追蹤關系,git pull就可以省略遠程分支名。
## 合并分支
>[success]當分支開發完成后,測試沒有問題了,最終需要合并到主分支上
>
~~~
git merge <name> 合并某分支到當前分支
~~~
# 常見問題
## 切換分支時,提示:ou need to resolve your current index first。因為產生了沖突。故需要回退到合并前。
>[info]解決方案如下:
~~~
git reset --merge
~~~