2013-10-03 48 views
3

我們的團隊最近一直在增加新成員。每次我們添加一個新人時,他們都會獲得他們自己的遠程Git存儲庫。 .git/config中每個項目的遙控器數量增加一個。團隊中的每個人都需要爲每個項目添加新的遠程設備。新人必須在每個現有團隊成員最初克隆項目時添加遙控器。如何自動添加遙控器到Git存儲庫?

這非常煩人。有沒有辦法自動將所有適當的遙控器添加到所有項目中以消除這種麻煩?

+3

爲什麼每個團隊成員都有一個遠程存儲庫? – 1615903

+2

爲什麼要麻煩?任何想要與愛麗絲回購的人交談的人都可以使用現在使用的任何一種方式即時添加遙控器,而這些都是在批量增加它們之前進行的。爲了增加額外的便利性,尋找如何製作git別名,並製作一個冪等的'git remote for Alice'。 – jthill

回答

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 [email protected]:dave/${PROJECT_NAME}-2.git 
" 

如果你想獲得更多的複雜的,你可以從我mr configuration repository竊取更多的想法,尤其是this filemr是一個非常方便的批庫管理工具,我現在已經使用它很長一段時間了。