在我们的团队中,我们有两个存储库,直到现在。一个是开发,另一个是生产。
因此我们将gitconfig全局文件配置为默认生产,并默认推送至开发。
现在我们引入了第三个名为Common的存储库。谁来克隆普通'应将默认推送配置为' Common'。由于我们已经配置了“开发”。作为全局的默认推送存储库,默认推送指向'开发'甚至在里面' Common'克隆时的存储库。
如何在gitconfig global中创建类似下面的内容?
if (cloned repository from Production)
then
default push is Development
if (cloned repository from Common)
then
default push is Common
答案 0 :(得分:1)
假设您的全局配置文件包含以下内容:
[remote "origin"]
pushurl = http://url/to/development
这是达到你想要的一种方式:
在Common
存储库中定义一个指向与origin
相同的URL的新远程:
git remote add common http://url/to/common
将 local 配置文件中的remote.pushDefault
变量设置为common
:
git config remote.pushDefault common
remote.pushDefault
设置告诉Git使用指定的远程中定义的URL而不是origin
。
此处来自documentation:
<强> remote.pushDefault 强>
默认情况下推送到的遥控器。覆盖branch.<name>.remote
适用于所有分支,并被覆盖branch.<name>.pushRemote
用于特定分支。
在这种情况下,origin
的推送URL在全局配置文件中定义,但Common
存储库将使用在其自己的远程中定义的推送URL,名为common