【问题标题】:How to tell Git to ignore errors with remote development branches when pulling master拉主时如何告诉 Git 忽略远程开发分支的错误
【发布时间】:2017-07-04 20:40:12
【问题描述】:

TL;DR
如何让 Git 完全忽略我不关心的远程分支?

详情

我正在处理一个托管在内部 Git 存储库中的大型项目。在我的一个本地克隆上,我的 master 分支正在跟踪原始的远程 master。对于这个特殊的克隆,我不关心除了大师之外的任何事情。但是,当我发出git pull 时,我有时会看到:

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

&lt;branch&gt; 是我不关心的某个随机人的开发分支,而我的主分支最终没有得到完全更新。我已经按照this SO answer 中的建议成功使用了git gc --prune=now 和git remote prune origin,但是现在已经发生了多次,我不想继续手动修复它。我也可以使用git pull origin master:master,但我更喜欢只使用git pull。

我不关心这个分支,也永远不会关心。我从来没有在这个克隆中检查过除了 master 之外的任何东西,也没有跟踪任何其他东西:

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

当我只想拉出 master 时,如何告诉 git 停止执行它在后台执行的任何跟踪信息?

补充说明
我们的团队最近才迁移到 Git,我们仍在解决工作流程中的问题。我不知道其他开发人员是否在做一些奇怪的事情,但我真的不在乎 - 我想知道如何告诉 Git,“不管其他分支发生什么,只要拉出我问的那个当我说pull时。”

【问题讨论】:

    标签: git


    【解决方案1】:

    告诉 git 只获取 master 分支而不是所有分支:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-28
      • 2014-06-15
      • 1970-01-01
      • 2011-05-12
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 2012-02-28
      相关资源
      最近更新 更多