了解git分支的详细操作和解释强推查看progit的中文电子版本,最重要的是学会查看文档——progit1.8节详细介绍了如何查看文档。
git分支常用命令
Git 能在瞬间创建新分支,并且由于每次提交都会记录父对象,因此合并分支简单而高效(基于共同的父对象解决冲突合并修改即可)。 这些特性使得 Git 鼓励开发人员频繁地创建和使用分支。命令 | 命令简介 |
git branch | 查看所有分支列表,前有*表示当前工作分支 |
git branch aBranch | 创建aBranch分支 |
git checkout aBranch | 切换到aBranch分支 |
git checkout -b <aBranch> | 创建并切换到aBranch分支 |
git log --decorate | 查看各个分支当前所指的对象 |
git merge aBranch | 使工作分支合并aBranch分支(如果有冲突则需要手动解决冲突并手动commit) |
git branch -d aBranch | 删除aBranch分支(前提是aBranch分支已经被merge,否则该命令出错) |
git branch参数
参数 | 命令简介 |
-v | git branch -v查看每个分支的最后一次提交 |
--merged | 筛选已经合并到当前分支的分支 |
--no-merged | 筛选未合并到当前分支的分支 |
-d | 删除分支 |
-D | 强制删除分支(-d不能删除未合并的分支) |
-vv | 将所有的本地分支列出来并且包含更多的信息 |
git远程分支
命令 | 命令简介 |
git ls-remote <remote> | 显示远程引用的完整列表 |
git remote show <remote> | 获得远程分支的更多信息 |
上面的两个方法虽然起作用,但更常见的作法是利用远程跟踪分支。远程仓库以<remote>/<branch>形式命名,如origin/master | |
git fetch <remote> | 与远程仓库同步数据 |
git pull | fetch后自动merge |
git push origin aBranch:serverBranch | 将本地的aBranch分支推送到远程的serverBranch分支 |
git checkout -b serverfix origin/serverfix | 假设fetch了服务器的serverfix分支——git fetch后需要建立一个本地分支(fetch只生成一个指针) |
git checkout --track origin/serverfix | 上一个命令的简化版本 |
git checkout serverfix | 上上命令的更简化版本 |
git push <remote> --delete <branch> | 删除远程服务器的某个分支 |