这么多未使用的分支.如何清理?

San*_*kas 11 git

我有以下分支:

* 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
Run Code Online (Sandbox Code Playgroud)
  1. 当前分支主服务器与origin/master不同,还是这些分支机构一起工作?

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

非常感谢你.

mvp*_*mvp 7

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

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

如果您创建了master作为跟踪分支,或者您克隆了它(默认情况下克隆创建跟踪主服务器),那么是,等等.跟踪只是意味着git将使用此分支映射作为推送和合并的默认目标.它还将显示状态消息,例如"分支主机在2个提交之前在原点/主机之前".

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

我会简单地使用

git branch -av
Run Code Online (Sandbox Code Playgroud)

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

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

git config --global log.decorate short
Run Code Online (Sandbox Code Playgroud)

如何删除它们进行清理?

你没有 - 远程分支不是你的.远程分支仅在最后git fetch执行时反映远程状态.您无法创建它们,即使您使用它们删除它们git branch -rd,下次执行git fetch这些远程分支指针时也会立即返回.

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

git remote rm origin
Run Code Online (Sandbox Code Playgroud)

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


Von*_*onC 3

1/ 当前分支 master 是否与 origin/master 不同,或者这些分支是否一起工作?

它是不同的(即使它从origin/master克隆之后开始),并且不跟踪origin/master(请参阅“如何更改 git 分支正在跟踪的远程? ”)。

2/我怎样才能删除它们以进行清理

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

git branch -rd origin/api-notes
Run Code Online (Sandbox Code Playgroud)

(更多信息请参阅“如何从 Git 中删除无效的远程分支引用? ”)

您可以 git diff 或 git log 两个分支来查看您没有的提交:
请参阅“ Git diff ..?有点和没有点有什么区别..? ”。
另请参阅“ Git:将所有本地提交与远程存储库版本进行比较”。