问题 这么多未使用的分支。如何清理?


我有以下分支:

* master
newbranch
remotes/origin/HEAD -> origin/master
remotes/origin/api-notes
remotes/origin/event-creation-validation
remotes/origin/master
remotes/origin/organizerlocation-bug-demo
remotes/origin/ticket-180
  1. 当前的分支主服务器与origin / master不同,还是这些分支机构一起工作?

  2. 如何检测不同分支中的最后更改以及如何将其删除以进行清理?

非常感谢你。


4155
2018-01-17 15:57


起源



答案:


1 /当前分支主服务器与源/主服务器不同,或者这些分支机构是否一起工作?

它是不同的(即使它开始于 origin/master 克隆之后),并没有跟踪 origin/master (见“如何更改远程git分支正在跟踪?“)。

2 /如何删除它们进行清理

您可以使用以下命令从远程名称空间删除分支:

git branch -rd origin/api-notes

(更多“如何从Git中删除无效的远程分支参考?“)

你可以git diff或git log两个分支来查看你没有的提交:
见“Git diff ..?有什么区别 .. 而且没有点?”。
也可以看看 ”Git:将所有本地提交与远程Repo版本进行比较”。


3
2018-01-17 16:05





您没有任何理由担心或清理任何东西。这就是为什么:

当前的分支主服务器与origin / master不同,还是这些分支机构一起工作?

如果您创建了master作为跟踪分支,或者如果您克隆它(默认情况下克隆创建跟踪主机),那么是,等等。跟踪只是意味着git将使用此分支映射作为推送和合并的默认目标。它还将显示状态消息,例如“分支主机优先于2个提交的主要/主设备”。

如何检测不同分支中的最后更改?

我会简单地使用

git branch -av

这显示了所有分支(本地和远程)的简短提交ID和简短摘要。

除此之外,您可能想要使用git log。 git log --decorate 是非常有帮助的,看看哪些分支指向什么提交。在最新的git版本(1.7.11+)中,您可以使用以下命令永久启用它:

git config --global log.decorate short

如何删除它们进行清理?

你没有 - 远程分支不是你的。远程分支只是最后一次反映远程状态 git fetch 进行了。您无法创建它们,即使您使用它们删除它们也是如此 git branch -rd,下次你这样做的时候 git fetch 这些远程分支指针将立即返回。

但如果您完全删除此遥控器:

git remote rm origin

那么这个遥控器的所有远程分支都将立刻消失。


7
2018-01-17 17:22



很好的解释,比我的答案更详细。 +1 - VonC


答案:


1 /当前分支主服务器与源/主服务器不同,或者这些分支机构是否一起工作?

它是不同的(即使它开始于 origin/master 克隆之后),并没有跟踪 origin/master (见“如何更改远程git分支正在跟踪?“)。

2 /如何删除它们进行清理

您可以使用以下命令从远程名称空间删除分支:

git branch -rd origin/api-notes

(更多“如何从Git中删除无效的远程分支参考?“)

你可以git diff或git log两个分支来查看你没有的提交:
见“Git diff ..?有什么区别 .. 而且没有点?”。
也可以看看 ”Git:将所有本地提交与远程Repo版本进行比较”。


3
2018-01-17 16:05





您没有任何理由担心或清理任何东西。这就是为什么:

当前的分支主服务器与origin / master不同,还是这些分支机构一起工作?

如果您创建了master作为跟踪分支,或者如果您克隆它(默认情况下克隆创建跟踪主机),那么是,等等。跟踪只是意味着git将使用此分支映射作为推送和合并的默认目标。它还将显示状态消息,例如“分支主机优先于2个提交的主要/主设备”。

如何检测不同分支中的最后更改?

我会简单地使用

git branch -av

这显示了所有分支(本地和远程)的简短提交ID和简短摘要。

除此之外,您可能想要使用git log。 git log --decorate 是非常有帮助的,看看哪些分支指向什么提交。在最新的git版本(1.7.11+)中,您可以使用以下命令永久启用它:

git config --global log.decorate short

如何删除它们进行清理?

你没有 - 远程分支不是你的。远程分支只是最后一次反映远程状态 git fetch 进行了。您无法创建它们,即使您使用它们删除它们也是如此 git branch -rd,下次你这样做的时候 git fetch 这些远程分支指针将立即返回。

但如果您完全删除此遥控器:

git remote rm origin

那么这个遥控器的所有远程分支都将立刻消失。


7
2018-01-17 17:22



很好的解释,比我的答案更详细。 +1 - VonC