2017-10-20 201 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