2017-02-15 79 views
0

TL; DR
如何告诉Git完全忽略我不关心的远程分支?如何告诉Git忽略远程开发分支时出错的错误

详细

我在一个内部的Git仓库举办一个非常大的项目。在我的一个本地克隆中,我的主分支正在跟踪原始的远程主设备。对于这个特定的克隆,我不关心除了主人之外的任何东西。然而,当我发出git pull,我有时会看到:

error: cannot lock ref 
'refs/remotes/origin/<branch>': is at <hash> but expected <other hash> 

哪里<branch>是一些素不相识的人的发展的分支,我不关心,我的主分支最终没有得到完全更新。我已经成功使用git gc --prune=nowgit remote prune origin,正如this SO answer中所建议的那样,但是现在已经发生了多次,我不想继续手动修复它。我也可以使用git pull origin master:master,但我宁愿只使用git pull

我不在乎这个分支,永远不会。我从来没有签出除了主任何在这个克隆,而不是在跟踪别的:

m:\<path>\> git branch 
* master 

我怎么能告诉混帐停止做它做背景的任何追踪信息时,我只是想拉主?

附注
我们的团队对Git的举动是最近的,我们仍然在我们的工作流程制定出扭结。我不知道其他开发者是否在做一些奇怪的事情,但我并不在意 - 我想知道我该如何告诉Git,“无论其他分支发生了什么事,只要拿出我问的那个当我说pull。“

回答

2

通知Git只取主分支,而不是所有的分支:

git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master