我们的团队最近一直在增加新成员。每次我们添加一个新人时,他们都会获得自己的远程Git存储库。每个项目的.git / config中的遥控器数量增加一个。团队中的每个人都需要将新远程添加到每个项目中。新人必须在最初克隆项目时为每个现有团队成员添加遥控器。
这很烦人。有没有办法自动将所有适当的遥控器添加到所有项目中以消除这种麻烦?
答案 0 :(得分:1)
只需编写一个shell脚本,确保所有遥控器都存在,然后通过将其检入存储库或使其在带外可用来与团队共享。
如果需要,您可以重复使用some shell functions which I already wrote for managing git remotes,例如:
# clone the above repo to some $MR_CONFIG_REPO first
source $MR_CONFIG_REPO/sh.d/git-remotes
for developer in alice bob charles dave; do
git_add_remote $developer https://github.com/$developer/$PROJECT_NAME.git
done
# or if the repo URLs don't follow a pattern
git_add_remotes "
alice https://github.com/alice/$PROJECT_NAME.git
bob https://src.bob.com/git/$PROJECT_NAME.git
charles file:///mnt/nfs/git/$PROJECT_NAME.git
dave git@github.com:dave/${PROJECT_NAME}-2.git
"
如果您希望变得更加成熟,可以从我的mr
configuration repository中窃取更多想法,特别是this file。 mr
是一个非常方便的存储库批量管理工具,我已经在很长一段时间内广泛使用它了。