我使用IntelliJ(2016.1.3)和GIT集成插件(8.1).在我使用IntelliJ期间,我检查了多个分支.现在这些分支从GIT中删除(在每次拉取请求之后我们删除它们).
从现在开始,我检出的每个分支都出现在我的GIT视图中,来自Intellij(由VCS> Git> Branches ...),见下:
有一种方法可以删除它们:一个接一个地做!但如果有很多分支(比方说一百......),它肯定会变得单调乏味......
问题是: 您是否知道在IntelliJ中是否有一种简单的方法可以从此视图中删除所有孤立本地分支?
谢谢 :)
编辑:我找到了一种方法来删除它们,但在另一个工具:"Git Gui".当您从那里删除它时,它也会在IntelliJ中删除.您可以一次删除多个分支.
远程跟踪分支很容易与普通的Git分支混淆.远程跟踪分支开头remotes/,如同remotes/origin/branch1,虽然Git允许你省略remotes/作为速记,所以你也可以remotes/origin/branch1简单地引用origin/branch1.但这些都不是正常的分支.您无法承诺或直接检查它们.如果你试图检查它们,Git将检查一个分离的HEAD,否则它将自动创建一个与远程分支同名的新本地分支,例如branch1.除非告诉Git明确删除它,否则永远不会删除这个新的本地分支.
发生的事情是双重的:
你需要确保Git 修剪远程跟踪分支(remotes/origin/branch1等).默认情况下不会.有关如何执行此操作,请参阅有关修剪远程跟踪分支的此问题.基本上它是git fetch -p origin或git remote prune origin.
签出分支以进行处理时,您创建了一个与远程跟踪分支同名的本地分支.branch1除非您手动执行此操作,否则永远不会删除本地分支,即使远程跟踪分支remotes/origin/branch1已被修剪,如果branch1在远程服务器上删除了该分支也会执行此操作.
您可以手动清理这些分支git branch -d(或强制使用-D,如果分支从未合并,可能是必要的),或者查看从Git中删除旧的远程分支的答案,以便自动执行此操作.
小智 5
Git 在 git 项目下的 .git 文件夹中跟踪其本地和远程存储库详细信息。
要删除本地孤立分支,请转到:
.git -> refs -> head(在这个位置你可以看到你所有的本地分支)
然后删除不需要的分支。
注意:如果您使用的是 mac os,请清除您的垃圾箱。
这可以一次性清除您本地的孤儿分支。
为了减少删除大量分支的痛苦,您可以转到 git 工具窗口(热键 Alt + 9)。在分支面板中,可以选择多个分支并删除它们。
所以你不必一一删除它们。但请注意,不要删除仍然感兴趣的分支,因为您无法看到与远程分支的连接,或者是否在此视图中修剪了该连接。
在项目目录中打开控制台并运行:
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
它删除对名为 的远程存储库中不再存在的远程分支的任何本地引用origin。
将上面的命令替换origin为远程存储库的名称(本地存储库已知),以防它不是origin。
据我所知,使用 IntelliJ Git 插件无法实现此目标。
了解更多信息: https: //git-scm.com/docs/git-remote
| 归档时间: |
|
| 查看次数: |
10527 次 |
| 最近记录: |