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

时间:2012-02-29 03:08:07

标签: git git-checkout

我每天都在学习越来越多关于git的知识,因此会引发一些问题。我有两个远程git repos,每个都有自己的结构,除了两个都有'origin / dev'。如果我在每个相应的回购中使用以下内容结帐到我当地:

PROJECT1:

git checkout -b dev origin/dev

Project2的:

git checkout -b dev origin/dev

我可以遇到一个场景,我可以将Project1和Project2中的文件放在同一个本地'dev'目录中吗?围绕这个最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

两个回购中的这些不同项目是什么?然后,只要您为计算机上的每个项目使用不同的文件夹,那么您应该没问题。您可以通过进入计算机上的每个文件夹并输入以下内容来验证这一点:

    git remote -v

只要origin的网址与您所在的项目匹配,就可以了。

如果它是同一个项目的两个不同的回购,那么你就不能拥有2个origin遥控器。你可以拥有一个名为origin的遥控器,但另一个遥控器必须被称为其他遥控器。

    origin/dev
    <other_remote>/dev    

答案 1 :(得分:0)

假设您可以为遥控器提供两个不同的名称,因为@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

...你正在开发本地分支跟踪dev远程分支。如果您在没有明确提及要推或拉的远程分支的情况下运行git push或git pull,这可能会导致您的场景出现很多混乱。