通常,git fetch
的来源是远程存储库的ref/heads/*
。
是否不允许从远程跟踪分支中获取,即远程存储库的ref/remotes/*
?
答案 0 :(得分:6)
当然!
“正常”提取是git fetch origin refs/heads/*:refs/remotes/origin/*
这告诉当前存储库连接到origin
,获取refs/heads/*
列表并将引用存储在本地refs/remotes/origin/
中。
你可以调整一下以获得origin:refs/remotes/*
,如下所示:
git fetch origin refs/remotes/*:refs/remotes/origin/*
值得注意的是,这方面的用处取决于您对所谈论的遥控器的了解:您获得了在您引用的遥控器中配置的远程名称,但是您没有获得有关该遥控器的详细信息远程。换句话说,你最终可能会看到一个新的条目refs/remotes/origin/origin/master
,但除非你知道origin/origin
究竟是什么,否则究竟是什么跟踪将是一个谜。
答案 1 :(得分:0)
是否不允许从远程跟踪分支获取远程存储库的ref / remotes / *?
是的,你可以。
Git并不关心来源的来源。你可以获取,拉动和放大合并形成不同的分支和起源。
考虑一下:
你有一个大项目,你有几个分包商在同一个项目上工作,但每个分包商都在不同的路径上改变代码。
完成工作后,您需要将其全部合并到一个大项目中。
如何吗
git merge origin1/A origin2/B origin3/3 ... originN/N
同样,git并不关心内容的来源。