TL; DR
我怎么能告诉Git完全忽略我不关心的远程分支?
详情
我正在一个内部Git存储库中托管的非常大的项目中工作。在我的一个本地克隆上,我的主分支正在跟踪远程主控源。对于这个特殊的克隆,我不关心除了主人之外的任何东西。但是,当我发出git pull
时,我有时会看到:
error: cannot lock ref
'refs/remotes/origin/<branch>': is at <hash> but expected <other hash>
<branch>
是一个我不关心的随机人员开发分支,而我的主分支最终没有完全更新。我已根据this SO answer中的建议成功使用了git gc --prune=now
和git remote prune origin
,但现在已多次发生,我不想手动修复它。我也可以使用git pull origin master:master
,但我更喜欢使用git pull
。
我不关心这个分支,永远不会。我从来没有在这个克隆中检查过除了master之外的任何东西,而且我没有跟踪其他任何东西:
m:\<path>\> git branch
* master
当我想拉主人时,我怎么能告诉git停止做他在后台做的跟踪信息呢?
附加说明
我们团队最近搬到Git,我们仍然在工作流程中解决问题。我不知道其他开发人员是否做了一些奇怪的事情,但我并不在乎 - 我想知道如何告诉Git,&#34;无论其他分支机构发生了什么,当我说pull
时,只需拉出我问的那个。&#34;
答案 0 :(得分:2)
告诉git只获取master分支而不是所有分支:
git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master