* 创建分支
~~~
git branch newss
~~~
* 切换分支
~~~
git checkout newss
~~~
* 创建并切换分支
~~~
git checkout -b dev
~~~
* 合并到当前分支
~~~
git merge newss
~~~
* 查看分支
~~~
git branch
~~~
* 删除分支
~~~
git branch -d newss
~~~
## 解决冲突
如果2个分支都有修改,合并的时候会产生冲突,需要手动删除文档里面的分支标记并提交,然后删除newss分支
* 查看分支合并图
~~~
git log --graph
~~~
## 分支管理策略
合并分支,默认使用fast foward模式,这样删除分支后,会丢掉分支信息。
禁用这个模式:`--no--ff`
合并的时候采用以下方式:
~~~
git merge --no-ff -m '合并描述信息' dev
~~~
master分支上不操作具体内容,每次修改都在newss分支上,修改后合并到master分支。master分支只做提交用。
## bug修复
newss分支内容没有提交,这个时候要去处理master分支上的bug
先存储newss分支未提交的内容:
~~~
git stash
~~~
切换到主分支
~~~
git checkout master
~~~
创建修改分支
~~~
git checkout -b issue-01
~~~
合并修改分支
~~~
git checkout master
git merge --no-f -m 'add something'
~~~
删除分支
~~~
git branch -d issue-01
~~~
切换回newss分支
~~~
git checkout newss
~~~
找回没有提交的内容
~~~
//查看工作现场
git stash list
//切换回工作现场
git stash pop
~~~
## feature分支
新建的02分支,没有合并到01分支上之前,把它强行删除
~~~
//创建分支02,提交内容,切换到先前分支01, 强行删除01
git branch -D iss
~~~
## 查看远程仓库信息
~~~
git remote
~~~