4

我正在尝试在 Gitkraken 中添加多个推送 URL,但它似乎不起作用。在 Sourcetree 或命令行中,我只需添加:

[remote "origin"]
   url = git@blah:blah/blah.git
   fetch = +refs/heads/*:refs/remotes/origin/*
   pushurl = git@blah:blah/blah.git
   pushurl = git@blah2:blah/blah.git

当我通过命令行执行此操作时,Gitkraken 仅推送到最后一个存储库,并且在设置中它是显示的唯一推送 URL。仍然可以通过命令行工作,但使用 Gitkraken 的目的是让我只需单击按钮而不是每次都键入命令。有任何想法吗?

4

2 回答 2

4

我知道这是一个老问题,但以防万一它仍然得到意见。

我还没有在 GitKraken 中找到一个好的解决方案来直接做你正在寻找的事情,但是,你可以添加第二个遥控器。

为此,将鼠标悬停在左侧菜单中的“远程”上,然后单击遥控器旁边的 (+)。从这里您可以添加您的第二个远程存储库。

添加您的存储库后,您可以右键单击本地并选择“设置上游”并选择您指向的那个。

推送到该位置后,您可以将上游重置为第二个存储库并重复推送。

我知道它不像您所要求的那样闪亮,但它似乎是多个远程存储库的最佳解决方案之一。

于 2018-03-13T15:44:19.157 回答
0

在将多个推送 URL 添加到单个遥控器时,我遇到了与 GitKraken 相同的问题。该问题似乎与 GitKraken 在按下 Push 按钮时如何在内部选择要使用的推送 URL 有关。

通过一些实验,我发现 GitKraken 在查看“git remote -v”时总是默认为配置中列出的最后一个推送 URL。即使在配置中正确输入,似乎也没有任何方法可以让该按钮使用多个 URL。您还可以看到配置中的最后一个推送 URL 与 GUI 中看到的该远程的推送 URL 匹配。

......

更新/推荐

我最终决定不使用多个推送 URL。由于我无法使用 Push 按钮同时将更改推送到两个遥控器,我担心我会忘记通过终端推送到额外的 repo。如果我必须将终端用作辅助步骤,那么使用多个推送 URL 没有任何优势。

相反,我只是添加了我的附加遥控器,现在通过终端手动推送。我首先使用 GitKraken 中的按钮推送到主遥控器,然后打开终端以推送到附加遥控器。这样做更好的主要原因是,通过在 GitKraken 中实际添加额外的遥控器,您可以看到该遥控器相对于其他遥控器和本地的位置。它会不断提醒您额外的遥控器,因此您也不要忘记推送它。

我认为这也比同时推送到两个遥控器更安全。即使它确实在 GitKraken 中工作,您也不会看到推送已完成到附加远程的指示,因为它发生在后台。在 GUI 中添加额外的遥控器使它们保持同步更有意义。是的,您将需要分别推送到这些遥控器,但至少您可以通过这种方式查看它们并知道它们处于哪个提交状态。

如果有人读到这个,那是我推荐的。忘记一次推送到多个遥控器。它并不像你想象的那么有利。

于 2019-04-08T22:11:10.683 回答