git 多个远程源

git multiple remote origin

我的 git 配置 --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:如果是,那么在将它们添加到此处后如何管理多个存储库? (我如何运行为每个回购添加提交拉取和推送)

您是否 运行ning git config --list 来自您的本地 git 存储库之一(git 配置存在于全局、系统级别和本地存储库级别)? git 配置的内容是为您填充的,还是您自己添加的?

我不确定我是否完全理解问题所在,但听起来您想拥有四个完全独立的本地 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,您将看到每个目录都有一个名为 origin 的远程目录并指向不同的存储库。每当您克隆 git 存储库时,每次都会自动为您创建一个名为 origin 的远程,并指向您从中克隆的存储库。

$ 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

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

是的,你可以 运行 多个项目,为此你只需要 运行 git 从同一个地方克隆命令, git 会处理剩下的即在新的子目录中创建条目和创建 repo 克隆。

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

例如,试试这个:

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