0

我在家里有自己的私人 git 服务器。在工作中,我设置了另一台团队服务器。

我的一些代码是共享的,这意味着既在我的私人服务器上用于我的私人项目,也在工作服务器上用于工作项目。

想象一下,我从工作中克隆其中一个项目,对其进行一些工作,然后提交。我做了一个 'remote add home rhiakath@home:project' ,做一个 'git push home master' 和 'git push origin master'。

但是,如果我稍后再次克隆该项目,则仅存在原始远程。我如何指示 git 在推送和克隆之间保留我的遥控器,这样我就可以始终拥有一个工作和家庭遥控器(并且 origin 总是等于其中一个,取决于我从哪里克隆)?

谢谢

编辑:好的,让我清楚一点。我的同事总是会做一个常规的克隆,和一个常规的 git push origin master,或其他东西。不是 2 个来源,也不是其他人使用我的家庭仓库或用户。只是想在推送/克隆周期之后保留一些遥控器,仅此而已。

我只是想要那个,在我克隆一个 repo 之后,这两个遥控器仍然被定义,所以我可以做一个 push home master 和一个 push work master。现在,当我从工作仓库克隆时,我必须再次添加“家庭”遥控器,然后从家庭仓库推送到它,反之亦然。

4

1 回答 1

0

嗯,不确定 git 究竟如何,或者即使git会让你做你想做的事.. 即克隆一个有 2 个来源的仓库,因为我认为 origin会在本地自动设置到你克隆它的地方......

但我只会编写一些小的 shell 脚本或程序(并将其提交给您的仓库)以将以下内容附加到您的仓库.git/config文件中:

[remote "alternateorigin"]
url = ssh://hostname/user/reponame.git
fetch = +refs/heads/*:refs/remotes/alternateorigin/*

当然要替换相关位...... url/协议可能会根据您连接到远程主机的方式而有所不同。但我就是这样做的...

于 2013-06-19T15:59:07.570 回答