【问题标题】:Pruning branches in Visual Studio 17 git?在 Visual Studio 17 git 中修剪分支?
【发布时间】:2018-04-01 14:12:52
【问题描述】:

我对 git 非常陌生,我在 Visual Studio 2017 中提供了 GitHub 集成。到目前为止,一切进展顺利,但每当我执行拉取请求并合并分支时,我将在 Web 客户端上完成合并后删除未使用的分支.这很好用,但在 Visual Studio 中,我删除的分支并没有消失。我已经看到其他关于此的问题,最常见的答案是运行命令 git config remote.origin.prune true,这样当执行 fetch 或 pull 时,存储库将自动修剪适当的分支。

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

更新: 在进一步研究之后,我意识到 REMOTE/ORIGIN 分支正在被删除,而不是本地分支。

有没有办法在本地自动删除分支以匹配远程?

【问题讨论】:

  • “我删除的分支不会消失” - 本地,还是原点?您必须在原点上明确删除它。
  • 所以经过进一步测试,分支会在远程被删除,而不是在本地。我正在使用 GitHub 网站来执行所有分支的合并和删除

标签: git visual-studio github


【解决方案1】:

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

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

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

【讨论】:

  • 嗯,这有点烦人,但我想我只能忍受它。我也可以通过在 VS 中右键单击它们并选择删除来删除本地分支,这还不错,但我希望有一个更自动化的解决方案!
  • @NickHallick 我同意,这不是很方便。也许有可能在 Visual Studio 本身中定义自定义命令/快捷方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 1970-01-01
  • 2016-03-23
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2020-08-04
相关资源
最近更新 更多