Git 分支 - 分支的管理

git branch 命令不单单能建立和删除分支,若是不加任何参数,它会给出当前全部分支的清单:javascript

$ git branch
  iss53
* master
  testing

注意看 master 分支前的 * 字符:它表示当前所在的分支。也就是说,若是如今提交更新,master 分支将随着开发进度前移。若要查看各个分支最后一个提交对象的信息,运行 git branch -vjava

$ git branch -v
  iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 add scott to the author list in the readmes

要从该清单中筛选出你已经(或还没有)与当前分支合并的分支,能够用 --merged 和 --no-merged 选项(Git 1.5.6 以上版本)。好比用 git branch --merged 查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游。):git

$ git branch --merged
  iss53
* master

以前咱们已经合并了 iss53,因此在这里会看到它。通常来讲,列表中没有 * 的分支一般均可以用 git branch -d 来删掉。缘由很简单,既然已经把它们所包含的工做整合到了其余分支,删掉也不会损失什么。code

另外能够用 git branch --no-merged 查看还没有合并的工做:对象

$ git branch --no-merged
  testing

它会显示还未合并进来的分支。因为这些分支中还包含着还没有合并进来的工做成果,因此简单地用 git branch -d 删除该分支会提示错误,由于那样作会丢失数据:ip

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

不过,若是你确实想要删除该分支上的改动,能够用大写的删除选项 -D 强制执行,就像上面提示信息中给出的那样。开发

相关文章
相关标签/搜索