git多个远程起源

时间:2015-09-03 15:12:26

标签: git github bitbucket

我的 git config --list 看起来像这样

core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@bitbucket.org:username/project1.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
include.path=/var/www/__/subfolder/

问题1:我可以为多个项目添加多个远程来源吗?

问题2:如果是,那么在这里添加后如何管理多个回购? (如何运行添加提交拉动并推送每个仓库)

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并在此处发布了解决方案。

是的,你可以运行多个项目,为此你只需要从同一个地方运行git clone命令,git将负责其余的工作,即创建条目并在新的子目录中创建repo克隆。

我最好的选择是--concatenate--命令并一起运行,如果你想从同一个地方运行所有东西..

例如,试试这个:

$ cd project1/; git command 1; git command 2; cd..;

答案 1 :(得分:0)

您是否正在其中一个本地git存储库中运行git config --list(git config是全局存在,系统级还是本地存储库级)?是否为您填充了git config的内容,或者您​​自己添加了这些内容?

我不确定我是否完全理解这个问题是什么,但听起来你想要有四个完全独立的本地git存储库,每个存储库都是从一个单独的bitbucket项目克隆的。

假设情况如此,那么每个人都应该有一个不同的本地存储库。你可以这样设置:

$ git clone git@bitbucket.org:username1/project1.git
$ git clone git@bitbucket.org:username2/project2.git
$ git clone git@bitbucket.org:username3/project3.git
$ git clone git@bitbucket.org:username4/project4.git

这将为您提供以下目录结构:

.
├── project1/
│   ├── .git/
│   └── ... (project contents)
├── project2/
│   ├── .git/
│   └── ... (project contents)
├── project3/
│   ├── .git/
│   └── ... (project contents)
└── project4/
    ├── .git/
    └── ... (project contents)

如果您进入任何这些目录并运行git remote -v,您将看到每个目录都有一个远程被叫起源并指向不同的仓库。无论何时克隆git存储库,每次都会自动为您创建一个远程调用源,并指向您从中克隆的存储库。

$ cd project1/
$ git remote -v
origin  git@bitbucket.org:username1/project1.git (fetch)
origin  git@bitbucket.org:username1/project1.git (push)

$ cd ../project2/
$ git remote -v
origin  git@bitbucket.org:username2/project2.git (fetch)
origin  git@bitbucket.org:username2/project2.git (push)

或者,如您所示,您可以使用git config --list

查看您的遥控器
$ cd project2/
$ git config --list
...
remote.origin.url=git@bitbucket.org:username2/project2.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
...

推拉很容易:

$ cd project3/
$ git pull
$ git push origin master