我们团队最近新增了一些成员。每次新增一个人,他们都会有自己的远程Git仓库。每个项目的.git/config中的远程数量都会增加一个。团队中的每个人都需要将新的远程添加到每个项目中。当新成员初始克隆项目时,他们必须为每个现有团队成员添加远程。
这非常令人烦恼。有没有一种方法可以自动将所有适当的远程添加到所有项目中,以消除这种麻烦?
我们团队最近新增了一些成员。每次新增一个人,他们都会有自己的远程Git仓库。每个项目的.git/config中的远程数量都会增加一个。团队中的每个人都需要将新的远程添加到每个项目中。当新成员初始克隆项目时,他们必须为每个现有团队成员添加远程。
这非常令人烦恼。有没有一种方法可以自动将所有适当的远程添加到所有项目中,以消除这种麻烦?
编写一个Shell脚本,确保所有远程仓库都存在,并通过将其检入存储库或通过其他方式使其可用与团队共享。
如果您愿意,可以重复使用 我已经编写的用于管理Git远程仓库的一些Shell函数,例如:
# 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
配置存储库中窃取更多想法,特别是这个文件。 mr
是一个非常方便的批量管理存储库的工具,我已经广泛使用它很长一段时间了。
git remotefor Alice
。 - jthill