我同時爲不同的僱主工作。我必須在僱主的基礎上使用不同的憑證。我可以在每個存儲庫中輕鬆運行git config author.email
和git config author.name
。但我想在全球範圍內做到這一點,因爲每個僱主都有很多存儲庫,新的存儲庫經常出現。基於某些子目錄選擇git存儲庫的作者憑證
我將所有存儲庫安排在兩個文件夾中。即~/projects/<employer_name1>/<project_name>
和~/projects/<employer_name2>/<project_name>
。
所以我想要做的是讓git根據當前倉庫(它是哪個僱主子目錄)的位置自動選擇正確的提交憑證。
我自己找到了答案。將此添加到.bashrc中:
function git() {
case $(readlink -f .)/ in
$(readlink -f /home/cryo/projects/fun-box)/*) GIT_AUTHOR_NAME=my_name [email protected] /usr/bin/git $*;;
*) /usr/bin/git $*;;
esac
}
發現此腳本http://www.mikeivanov.com/different-emails--for-different-git-repositori 它選擇作者電子郵件。我會很高興,如果它也可以選擇作者姓名 – cryo28
你看到我的回答? – manojlds
是的。我知道這會起作用。謝謝。但這不是我正在尋找的,因爲我將不得不爲每個新項目運行帶有正確參數的腳本。我相信我會遲早忘記這麼做的。所以我對上面鏈接中提供的解決方案更感興趣。我很樂意將它修改爲不選擇電子郵件,而是選擇作者/電子郵件對。 – cryo28