做空者:有没有一种方法可以让git回购推送到远程回购列表(而不是一个单一的“来源”)中并从中提取?
长篇大论:当我在多台电脑上开发一个应用程序时,我经常会遇到这样的情况,这些电脑具有不同的连接能力——比如,一台笔记本电脑在运输途中,一台电脑“a”在某个位置,另一台电脑则“B”在另一台位置。此外,笔记本电脑可能只与“A”或“B”连接,有时两者都连接。
我希望git始终“拉”到它当前可以连接的所有计算机,这样从一台机器跳到另一台机器,继续无缝工作就更容易了。
做空者:有没有一种方法可以让git回购推送到远程回购列表(而不是一个单一的“来源”)中并从中提取?
长篇大论:当我在多台电脑上开发一个应用程序时,我经常会遇到这样的情况,这些电脑具有不同的连接能力——比如,一台笔记本电脑在运输途中,一台电脑“a”在某个位置,另一台电脑则“B”在另一台位置。此外,笔记本电脑可能只与“A”或“B”连接,有时两者都连接。
我希望git始终“拉”到它当前可以连接的所有计算机,这样从一台机器跳到另一台机器,继续无缝工作就更容易了。
当前回答
添加新远程
git remote add upstream https://github.com/example-org/example-repo.git
git remote -vv
从多个位置提取
git fetch --all
推送至位置
git push -u upstream/dev
其他回答
我将两个单独的pushurl添加到.git配置文件中的远程“源”。当我运行git push origin“branchName”时,它将运行并推送到每个url。不确定是否有更简单的方法来实现这一点,但这对我自己来说是可行的,既可以推送Github源代码,也可以推送My.visualStudio源代码。
[remote "origin"]
url = "Main Repo URL"
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = "repo1 URL"
pushurl = "reop2 URl"
添加新远程
git remote add upstream https://github.com/example-org/example-repo.git
git remote -vv
从多个位置提取
git fetch --all
推送至位置
git push -u upstream/dev
您可以通过以下方式添加遥控器:
git remote add a urla
git remote add b urlb
然后,要更新所有回购,请执行以下操作:
git remote update
您可以使用gitremote命令配置多个远程存储库:
git remote add alt alt-machine:/path/to/repo
要从所有配置的远程获取并更新跟踪分支,但不合并到HEAD,请执行以下操作:
git remote update
如果它当前未连接到其中一个遥控器,则会花费时间或抛出错误,然后继续下一个。您将不得不从提取的存储库中手动合并,或者根据您想要组织收集更改的方式来选择。
要从alt获取主分支并将其拉入当前的头部,请执行以下操作:
git pull alt master
所以事实上,git pull几乎是git pull-origin HEAD的简写(实际上,它在配置文件中查找以确定这一点,但您可以理解)。
对于推送更新,您必须手动对每个回购进行推送。我认为,推送是在考虑中央存储库工作流的情况下设计的。
自git1.8(2012年10月)以来,您可以通过命令行执行此操作:
git remote set-url origin --push --add user1@repo1
git remote set-url origin --push --add user2@repo2
git remote -v
然后git push将推到user1@repo1,然后推到user2@repo2.