Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 本地分支从一个地方拉到两个不同的远程位置,在不同的分支中(名称)_Git_Github_Gitorious - Fatal编程技术网

Git 本地分支从一个地方拉到两个不同的远程位置,在不同的分支中(名称)

Git 本地分支从一个地方拉到两个不同的远程位置,在不同的分支中(名称),git,github,gitorious,Git,Github,Gitorious,假设我有两个不相关的项目(谈论git),但由于我的不一致性,我经常在它们之间切换。它们都有一个“主”分支和一个“主干”分支(并且都位于不同的托管站点(github和gitorious)。是否可以创建一个第三存储库,其中只包含这两个分支的主干分支的内容,并使用不同的分支名称? e、 g.:…我认为可视化更具描述性,因此: 最后,我的问题是,我应该输入什么命令才能从所有项目中推送,并自动应用更改(--我猜是镜像,但在阅读了一天左右的内容后,我就知道了) 提前感谢。是的。使用git remote ad

假设我有两个不相关的项目(谈论git),但由于我的不一致性,我经常在它们之间切换。它们都有一个“主”分支和一个“主干”分支(并且都位于不同的托管站点(github和gitorious)。是否可以创建一个第三存储库,其中只包含这两个分支的主干分支的内容,并使用不同的分支名称? e、 g.:…我认为可视化更具描述性,因此:

最后,我的问题是,我应该输入什么命令才能从所有项目中推送,并自动应用更改(--我猜是镜像,但在阅读了一天左右的内容后,我就知道了)


提前感谢。

是的。使用
git remote add
将两个存储库中的每一个都添加到git存档中(一个空的可能是最正常的),并给它们取不同的名称(“github”和“gitorious”似乎是正常的)。获取每个存储库后,您将看到它们的分支为“/remotes/{github,gitorious}/trunk”(或master,等等)并且可以使用git随心所欲地对它们进行操作——例如,在分支之间进行cherry pick提交、合并分支、获取差异日志、找到合并基础等等。

绝妙提示!我只想补充一点,为了让它完全运行,OP必须创建本地跟踪分支,如:git branch project1 github/trunk;git branch project2 gitorious/trunk现在有人给我做了总结,这比我自己想象的要清楚得多。我仍然希望能够做
cd./Project3/
然后
git checkout project2
然后
git push/pull
(没有其他信息)git branch--set upstream project1 trunk是我应该使用的命令吗?这正是Andy提供的:$cd Project3;git init;git remote add project1{github/project};git remote add project2{gitorious/project};git fetch--all;git branch project1 project1/trunk;git branch project2 project2/trunk----当您使用“branch”明确指定要从中创建本地分支的远程分支时命令它将自动创建跟踪分支,方法与--set upstream相同。我仍然希望能够做到这一点,而无需每次指定从何处推/拉,只需一个真正的
git推/拉
,只需第一次使用
-u
参数推,它将自动为您设置跟踪分支,这样您就可以在上,不需要再次指定。为本地分支设置远程跟踪分支与从多个远程存储库克隆本地分支是一个正交问题。