我们正在使用一个半集中的git仓库,在这里工作。每个开发者都有在中央git仓库自己的树,所以它看起来是这样的:我可以将本地分支机构映射到git中具有不同前缀的远程分支吗?
master alice/branch1 alice/branch2 bob/branch1 michael/feature release/1.0 release/1.1
在我的树在本地工作的我有topic/feature
,相当于michael/feature
中央树。
我一直在使用
git push origin topic/feature:michael/feature
把我的更改远程树。但是,这很麻烦并且容易出错(例如,省略开发人员姓名,拼错功能名称等)。
我正在寻找更干净的方式来做到这一点。例如,“git push
”。我怀疑用一个修改后的fetch refspec设置一个不同的遥控器会做到这一点,但我不知道该怎么做。我也不知道如何修改我当前的分支定义以使用不同的远程。
我现在.git/config
看起来像:
[remote "origin"] url = git://central/git/project fetch = +refs/heads/*:refs/remotes/origin/* [branch "topic/feature"] remote = origin merge = refs/heads/michael/project
编辑:我也想申请这拉/读取。但branch.<name>.merge
是否照顾到了这一点?
我会继续研究这个,并在这里发帖,如果我找到了一些东西,但我希望能得到一些其他好点子。
编辑2:我决定保留本地和远程分支名称相同。看起来这将是最少的工作,并且最不容易出现未来的问题。
当您修改.git/config时,不要忘记先将其备份。如果你搞砸了,你只需要恢复已知的好文件就可以回到相应的状态。 – webmat 2008-10-03 22:23:00
在进行git部署来托管像Heroku,Nodester和AppFog这样的服务时,这实际上会出现很多。 – studgeek 2012-07-11 21:42:33