3. 分支管理

1. 创建分支
git checkout -b dev						##创建并切换到dev分支
git branch								##查看当前分支状况

* dev
  master

              上面一条命令相当于以下两条命令

git branch dev							##创建分支
git checkout dev						##切换分支
2. 切换分支
git checkout master
3. 合并分支
git merge dev							##将dev分支合并到当前分支上
4. 删除分支
git branch -d dev
5. 分支合并冲突
git checkout -b feature1				##创建新分支
###修改readme.txt内容
git add readme.txt						##提交
git commit -m "AND simple"

git checkout master						##切换到master分支
###修改readme.txt内容
git add readme.txt						##提交
git commit -m "& simple"

git merge feature1						##试图合并分支
###合并冲突,无法快速合并分支

###手动修改文件内容
###再次合并
git merge feature1
6. 禁用fast forward合并分支
git merge --no-ff -m "merge with no-ff" dev
7. 储藏暂存区
###当前在dev分支下工作,并添加了文件到暂存区,还没有提交
###但是现在需要完成其他分支任务

git stash								##储藏当前分支的暂存区

git stash list							##查看储藏区里都有哪些任务

git stash apply							##恢复储藏区内的任务
git stash drop							##删除stash内的内容

git stash pop							##恢复储藏区内的任务并删除stash内的内容

git stash apply stash{0}				##指定恢复储藏区内的任务
8. 强行删除新分支
###当前新分支feature已经开发完毕,但是没有合并
###普通删除分支不能删除

git branch -D feature					##强行删除该分支
9. 多人协作
       (1)查看远程库信息
git remote -v
       (2)从本地推送分支
git push origin branch-name
       (3)如果推送失败,要先抓取远程的新提交
git pull
       (4)git pull提示no tracking information

              说明本地分支和远程分支的链接关系没有创建

git branch --set-upstream-to <branch-name> origin/<branch-name>
       (5)在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name
10. rebase
       rebase操作可以把本地未push的分叉提交历史整理成直线;
       rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
git rebase
原文地址:https://www.cnblogs.com/machine-lyc/p/10642843.html