2017-10-20 176 views
1

我对git非常陌生,我在Visual Studio 2017中给了GitHub集成。一切都很顺利,但是每当我做一个pull请求和合并分支时,我会在Web客户端合并完成后删除未使用的分支。这很好,但在Visual Studio中,我删除的分支不会消失。我已经看到有关此的其他问题,最常见的答案是运行命令git config remote.origin.prune true,因此当执行提取或拉取操作时,存储库将自动修剪合适的分支。在Visual Studio 17 git中修剪分支?

虽然我毫不怀疑,这将工作,我只是不知道在哪里运行这个。我已经尝试在存储库路径下的Windows CMD中运行该命令(右键单击Visual Studio中的存储库并选择“在命令提示符下打开”),但它没有抛出任何错误,但似乎也没有在我创建和合并另一个分支之后,任何事情都完成了。

更新: 经过深入研究,我意识到REMOTE/ORIGIN分支已被删除,但不是本地分支。

TestEdits does not exist on GitHub anymore

是否有办法在本地自动删除分支到远程匹配吗?

+0

_ _“我已经删除了不走的支” - 在本地,或来历?你必须明确删除它的原点。 – CodeCaster

+0

因此,经过进一步测试,该分支将在远程但不在本地删除。我使用GitHub网站来执行我所有的分支合并和删除 – NickHallick

回答

1

如上所述,修剪选项只会删除(在提取时)“远程跟踪分支”(即在refs/remotes命名空间中定义的分支)。
这意味着在服务器端删除的分支也将仅在refs/remotes分支中本地删除。

The local branches would still remain
still have to remove them,使用命令行:

git branch --merged master | grep -v '^[ *]*master$' | xargs git branch -d 
+0

好吧,这有点烦人,但我想我只能忍受它。我也可以通过在VS中右键点击它们并选择删除,但不是太糟糕,但我希望有一个更自动化的解决方案来移除本地分支! – NickHallick

+0

@NickHallick我同意,这不是很方便。也许有可能在Visual Studio中定义自定义命令/快捷方式。 – VonC