2017-06-21 148 views
0

我們希望全局更改git配置文件,以便在每個git克隆上從git repo下載新文件。有沒有辦法做到這一點?任何執行該項目的git clone的用戶都應該在./git/config文件中獲得這個定製的git配置文件,而不是標準配置文件?全局修改git配置文件

+0

我敢肯定,你在這裏試圖實現的東西很好,很有用;如果是這樣,這不是實現它的方式。到目前爲止的答案給了你最好的*一種方法,如果你的用戶想要合作 - 也許你的用戶想要合作,那麼你就不需要這種嚴厲的解決方案。如果您發佈了一個新問題,列出了您要完成的任務,那麼您可能會得到比「嘗試強制用戶從原始配置更新」更有意義的建議 –

回答

1

我不認爲這是git-clone做這個工作的好主意。修改本地現有文件或在沒有用戶意識或權限的情況下覆蓋本地配置是不安全和不合理的。

我不知道爲什麼你想這樣做,但我認爲你可以通過其他方式做到這一點。對於你的團隊成員,你可以告訴他們在開發過程中他們必須遵守的規則。對於可能克隆您的項目和貢獻的隨機用戶,您可以寫下規則README或項目介紹。用戶應該被允許在本地倉庫中做任何他們想做的事情。但是當他們的提交被合併或應用到受保護的存儲庫時,您可以爲那些不滿意的提交設置障礙。例如,如果您不希望包含dos樣式行結尾的文件可以在pre-receive鉤子中檢測到它們,阻止推送,然後在錯誤消息中作出響應,以解釋推送失敗的原因並提示該如何解決錯誤。製作特定的git-config可以包含在建議中。

0

據我所知,這是不可能迫使全球混帳配置爲用戶修改時,他們克隆你的倉庫。這會造成嚴重的安全問題。

,如果你決定修改用戶「signingkey」或修改一個可執行(合併工具,difftool等)的路徑是什麼?

相反,你可以寫一個腳本修改要更新,並要求用戶執行這個腳本的配置。

您可以使用下面的命令來更新混帳CONFIGS:

git config --global <key> <value> # modify global .gitconfig 
git config <key> <value>   # modify current repository config 
0

我想你可以創建一個config_symlink.sh文件:它將從已推到混帳您的配置文件創建一個符號鏈接。並將該文件鏈接到./.git/config

ln -s ./config ./.git/config 

然後推送兩個文件。

祝你好運!

+0

這不適用於Windows平臺 – Antwane

+0

在Windows上,你可以使用** mklink **創建一個符號鏈接。然後創建一個bat文件。 –