2.4 分支
2.4.1 创建分支
$ git branch <branchname>
2.4.2 查看分支
$ git branch
git branch
命令会列出所有分支,当前分支前面会标一个*号。
查看远程分支
git branch -a
查看本地分支和远程分支之间的映射关系
git branch -vv
2.4.3 切换分支
$ git checkout <branchname>
切换远程分支
git checkout -b release/10.0 origin/release/10.0
2.4.4 创建+切换分支
$ git checkout -b <branchname>
2.4.5 合并某分支到当前分支
$ git merge <branchname>
2.4.6 删除分支
$ git branch -d <branchname>
2.4.7 查看分支合并图
$ git log --graph
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。用git log --graph
命令可以看到分支合并图。
普通模式合并分支
$ git merge --no-ff -m "description" <branchname>
因为本次合并要创建一个新的commit,所以加上-m
参数,把commit描述写进去。合并分支时,加上--no-ff
参数就可以用普通模式合并,能看出来曾经做过合并,包含作者和时间戳等信息,而fast forward合并就看不出来曾经做过合并。
保存工作现场
$ git stash
查看工作现场
$ git stash list
恢复工作现场
$ git stash pop
发现工作现场
$ git stash apply
丢弃一个没有合并过的分支
$ git branch -D <branchname>
查看远程库信息
$ git remote -v
在本地创建和远程分支对应的分支
$ git checkout -b branch-name origin/branch-name,
本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联
$ git branch --set-upstream branch-name origin/branch-name;
从本地推送分支 (将本地项目与远程仓库项目关联)
$ git push origin branch-name
如果推送失败,先用git pull抓取远程的新提交;
从远程抓取分支
$ git pull
如果有冲突,要先处理冲突。