【发布时间】:2022-11-27 11:17:42
【问题描述】:
我有像“主要”和“重构”这样的分支。我在“重构”中进行了所需的更改,并在“主”中创建了一个拉取请求并接受了它。现在“重构”分支妨碍了。我从 GitHub 界面中删除了它。我现在如何在本地同步?这样“重构”分支就不会出现在本地存储库中? 直到今天,我只会在本地删除“重构”分支,仅此而已。但我觉得这是错误的,并决定找出正确的方法。 如何使我的本地分支与远程存储库中的分支保持同步?
谢谢!
【问题讨论】:
标签: git
我有像“主要”和“重构”这样的分支。我在“重构”中进行了所需的更改,并在“主”中创建了一个拉取请求并接受了它。现在“重构”分支妨碍了。我从 GitHub 界面中删除了它。我现在如何在本地同步?这样“重构”分支就不会出现在本地存储库中? 直到今天,我只会在本地删除“重构”分支,仅此而已。但我觉得这是错误的,并决定找出正确的方法。 如何使我的本地分支与远程存储库中的分支保持同步?
谢谢!
【问题讨论】:
标签: git
不幸的是,Git 不会自动修剪本地分支。你可以使用git fetch -p来修剪本地追踪origin/refactoring 之类的分支,但它不会为您删除普通的 refactoring 分支。如果 Git 删除上游引用消失的分支,就会有数据丢失的风险。您不希望您的本地数据因为远程发生的事情而消失。
因此,手动删除分支是合适的:
$ git fetch
<see a message that the remote branch 'refactoring' has been deleted>
$ git branch -d refactoring
(请注意,虽然我理解 Git 的行为,但我并不喜欢它。我不是在为它辩护,只是在解释它。)
【讨论】: