我有一个包含 3 个远程存储库的设置,原始存储库、内部存储库、外部存储库。当我创建一个新的本地安装时,我克隆源并将内部和外部添加为远程。
当我执行git fetch --all 但在内部和外部,它们似乎没有从服务器获取(尽管我看到服务器被联系和查询)时出现了新的远程分支 。
我也试过git remote update internal没有任何运气。
使用git ls-remote internal我可以看到任何新创建的远程分支,但我无法克隆它们(可能是因为有关分支的信息尚未提取到我的本地存储库)。
在互联网上搜索我发现这篇博客文章http://www.jukie.net/bart/blog/fetch-all-git-branches描述了相同的问题并使用自定义脚本解决了它。
当您使用最近的 git 版本克隆一个新的 git 存储库时,默认情况下 git 将创建一个包含所有远程分支的 .git/remotes/origin。该文件列出了要在获取时更新的所有远程分支。
随着时间的推移,远程可能会获得更多分支,并且可能需要更新远程分支列表。找出远程可用的方法是调用 git-ls-remote origin,然后挑选出感兴趣的分支,并将它们添加到 .git/remotes/origin 文件中。
为什么git fetch --all不使用新分支更新 .git/remotes/[remote_name] 文件?真的没有办法用普通的 git 命令来更新它吗?