Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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 repo_Git_Git Checkout - Fatal编程技术网

本地目录中具有相同目录结构的多个远程git repo

本地目录中具有相同目录结构的多个远程git repo,git,git-checkout,Git,Git Checkout,我每天都在学习越来越多关于git的知识,这就引出了一些疑问。我有两个远程git Repo,每个都有自己的结构,只是都有一个“origin/dev”。如果我在各自的回购协议中使用以下各项进行结帐: 项目1: git checkout -b dev origin/dev 项目2: git checkout -b dev origin/dev 我是否可以在同一个本地“dev”目录中运行Project1和Project2中的文件?解决这个问题的最佳方法是什么?这两个回购协议上的项目是否不同?然后,只

我每天都在学习越来越多关于git的知识,这就引出了一些疑问。我有两个远程git Repo,每个都有自己的结构,只是都有一个“origin/dev”。如果我在各自的回购协议中使用以下各项进行结帐:

项目1:

git checkout -b dev origin/dev
项目2:

git checkout -b dev origin/dev

我是否可以在同一个本地“dev”目录中运行Project1和Project2中的文件?解决这个问题的最佳方法是什么?

这两个回购协议上的项目是否不同?然后,只要您为机器上的每个项目使用不同的文件夹,那么您就可以了。您可以通过进入计算机上的每个文件夹并键入以下内容来验证这一点:

    git remote -v
只要
origin
的url与您所在的项目匹配,就可以了

如果同一个项目有两个不同的回购协议,则不能有两个
origin
remote。您可以将一个远程调用为
origin
,但另一个远程repo必须调用其他名称

    origin/dev
    <other_remote>/dev    
origin/dev
/发展

假设您可以像@triad所指出的那样为远程分支使用两个不同的名称,那么如果不明确地执行此操作,您将永远不会合并来自两个远程分支的文件

如果要将它们合并,您有许多选择,其中两个是:

// Option 1
git checkout -b dev origin/dev
git merge other_remote/dev
// solve possible merge conflicts
git push // this will push into origin/dev

// Option 2
git checkout -b dev other_remote/dev
git merge origin/dev
// solve possible merge conflicts
git push // this will push into other_remote/dev
认识到使用

git checkout -b dev origin/dev
// or
git checkout --track origin/dev

。。。您正在使开发人员本地分支跟踪开发人员远程分支。如果运行git push或git pull时没有明确提到要推送或拉送的远程分支,这可能会导致场景中的许多混乱。

我不太明白。“项目1”和“项目2”是分开的目录吗?“dev”目录在哪里?