上下文:我有一个origin
远程与默认的url克隆后,一个仓库.由于一些Bitbucket更新,建议我们的团队将集中仓库创建另一个帐户与一个应用程序密码的所有项目的团队处理.
首先,我决定添加另一个远程使用:
git remote add norigin <new url>
但是每次推到两个遥控器会被证明是一件麻烦的事。我对一个一推命令解决方案的搜索把我带到了这里。
基本上你可以编辑/添加另一个网址到现有的远程,因此我输入:
git remote set-url --add --push origin git@bitbucket.com:username/repo2
测试了现在的git push origin <some branch>
命令是否会推送到两个远程url。git log
会显示norigin
比origin
落后一个提交,但我认为这是因为它仍然被视为另一个单独的远程,然后检查了每个单独的repo,它确实推送到两个repo,因此我删除了norigin
远程。
一切正常,但当我输入git remote -v
时,它只显示:
origin git@bitbucket.com:username/repo (fetch)
origin git@bitbucket.com:username/repo2 (push)
当预期输出应为:
origin git@bitbucket.com:username/repo (fetch)
origin git@bitbucket.com:username/repo (push)
origin git@bitbucket.com:username/repo2 (push)
- 问题:**正如标题和预期输出所示,如何显示添加到特定远程设备上的所有URL?
我尝试过的:
git remote -v show origin
git remote get-url --push origin
git remote get-url --all origin
但是它们都返回单个URL,并且该URL不是旧URL就是新URL。
2条答案
按热度按时间t3irkdon1#
这可能取决于使用的Git版本。
我刚刚用Git 2.35.1测试了你的命令,
git remote -v
的工作情况和预期的一样:检查.git/config文件中是否包含
vwhgwdsa2#
要获得预期输出:
我所要做的就是添加原始的repo url,就像我添加第二个一样。使用相同的命令,但是使用原始的url(不是一个真正的解决方案,因为一开始并没有真正的问题,但是如果你像我一样吹毛求疵,你只是想看到旧的/原始的遥控器的
push
url,那么你可以使用下面的命令来添加它):我是如何到达“变通方案"的:
重读这篇文章后,我注意到指令是在
git remote add
之后添加原始的repo url,你可以看到下面的指令(示例使用.org和.com url):我昨天做的另一个实验是删除添加到
origin
repo中的所有push
url,结果是这个问题得到了解决。删除所有
push
url后,它会自动添加一个默认的url和fetch
url一样。我不知 prop 体的行为,但我只是把它解释为git把原来的/旧的url设为默认的push
url,这就是为什么它不需要显示出来的原因吗?无论如何,你可以随意添加任何一个。不管是否显示,它仍然会像预期的那样工作,只要你添加了新的回购协议(iidoEe.它将推到旧的和新的回购协议)。PS:正如@VonC在他的回答中所说,不同的git版本之间可能会有所不同。