2014-02-18 195 views
1

例如,让我们有一个Git仓库A,其中有两个遥控器:如何从远程git仓库获取所有远程URL?

[email protected]:~/dev/tmp/some_repo$ git remote -v 
remote_a  /home/user/dev/tmp/a/ (fetch) 
remote_a  /home/user/dev/tmp/a/ (push) 
remote_b  /home/user/dev/tmp/b/ (fetch) 
remote_b  /home/user/dev/tmp/b/ (push) 

我想克隆这个仓库并获得相同的遥控器,但只有产地:

[email protected]:~/dev/tmp$ git clone some_repo/ some_clone 
Cloning into 'some_clone'... 
done. 
[email protected]:~/dev/tmp$ cd some_clone/ 
[email protected]:~/dev/tmp/some_clone$ git remote -v 
origin /home/user/dev/tmp/some_repo/ (fetch) 
origin /home/user/dev/tmp/some_repo/ (push) 

有任何方式从原产地获得所有遥控器,所以remote_aremote_b是遥控器some_clone one?

回答

3

可供git使用的协议(用于克隆,获取更新等)不会为您提供所需的信息,因此在某种意义上答案是否定的:没有办法获得该信息。

但是,对于您的具体示例,您正在克隆的存储库已经是本地存储库。你显然可以直接访问它。你所要做的就是回到它并使用git config(或类似)来提取所需的所有信息,然后将其复制到新的克隆中。

这同样适用于从“远处”某处“克隆”的存储库:您需要对其进行某种其他类型的访问(例如ssh登录到主机)以获取配置信息需要。

+0

我有点困惑。 目前没有办法得到这个结果,或者这是由于git协议的限制,将永远不可能? –

+0

这不是目前的协议。据我所知,无意将其添加到未来的,但是,好吧,[预测...](http://www.larry.denenberg.com/predictions.html):-) – torek