【发布时间】:2017-02-13 04:29:19
【问题描述】:
当远程机器上的分支被删除时,使用 git fetch --prune 删除本地远程跟踪分支。使用以下命令将 remote.origin.prune 设置为 true...
git config --global fetch.prune true
...使得使用 fetch 命令总是隐式地使用 --prune 选项。
我正在为我小组中一些不太熟悉它的开发人员整理 git 的最佳实践/介绍。在建议他们这样做之前,我想确定我知道这不是一种危险的行为。如果有一些无关紧要的事故情况,我至少会提醒他们注意什么。
这似乎不是破坏性操作,因为它不会删除任何本地(非远程)分支。如果不定期指定 git fetch --prune 或 git remote prune ,这似乎也是一种不构建不再使用的遥控器的好方法。
如果这都是真的,为什么这不是 git 的默认行为?
【问题讨论】:
-
如果您删除了分支,当您的同事发现他们错误地删除了一个分支时,您不能将它们用作备份。
-
如果它是一个足够重要的分支,本地分支是否足以备份?你为什么要遥控器?如果您在删除遥控器时犯了愚蠢的错误,我认为您不应该指望其他开发人员进行备份。
-
修剪树枝有什么好处?
-
如果您自己还没有在该分支上做任何事情,您可能还没有相应的本地分支。如果你对它做了什么,你的本地分支可能已经转移,你可能没有合并来自相应远程分支的最新更改,因为你可能已经推迟了。
-
@choroba 我个人将很多分支推送到远程机器上,所以我会说它整理了留在其他人机器上的分支数量。我还要说,它还可以让新开发人员知道哪些分支不再相关或不再积极开发,而无需定期运行“git fetch --prune”(初学者会感到困惑)。使用 git config 你有一个一劳永逸的命令。
标签: git git-remote git-fetch