[关闭]
@Chiang 2020-04-11T15:25:20.000000Z 字数 1059 阅读 520

GIT分支管理

Git 2020-04


git branch 命令不只是可以创建与删除分支。 如果不加任何参数运行它,会得到当前所有分支的一个列表

  1. git branch

注意 master 分支前的 * 字符:它代表现在检出的那一个分支(也就是说,当前 HEAD 指针所指向的分支)。 这意味着如果在这时候提交,master 分支将会随着新的工作向前移动。

如果需要查看每一个分支的最后一次提交,可以运行 git branch -v 命令:

  1. git branch -v

--merged--no-merged 这两个有用的选项可以过滤这个列表中已经合并或尚未合并到当前分支的分支。

如果要查看哪些分支已经合并到当前分支,可以运行 git branch --merged

  1. git branch --merged

因为之前已经合并了 iss53 分支,所以现在看到它在列表中。 在这个列表中分支名字前没有 * 号的分支通常可以使用 git branch -d 删除掉;你已经将它们的工作整合到了另一个分支,所以并不会失去任何东西。

查看所有包含未合并工作的分支,可以运行 git branch --no-merged

  1. git branch --no-merged

这里显示了其他分支。 因为它包含了还未合并的工作,尝试使用 git branch -d 命令删除它时会失败:

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

如果真的想要删除分支并丢掉那些工作,如同帮助信息里所指出的,可以使用 -D 选项强制删除它。

上面描述的选项 --merged 和 --no-merged 会在没有给定提交或分支名作为参数时, 分别列出已合并或未合并到 当前 分支的分支。

你总是可以提供一个附加的参数来查看其它分支的合并状态而不必检出它们。 例如,尚未合并到 master 分支的有哪些?

  1. git checkout testing
  2. git branch --no-merged master

参考资料:
GIT分支管理
git分支管理策略

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注