2017-03-02 109 views
2

我有一個macOS的dotfiles存儲庫,其中包含.gitconfig文件。我想保留usernameemail與此文件分開,以便這些變量不會作爲我的公共dotfile文件庫的一部分提交。我見過在不使用.gitconfig的情況下設置Git用戶名和電子郵件?

一種方法是指定一個名爲.extra文件,將其保持在~/目錄(它在.bash_profile引用),並設置Git的變量在該文件中,使他們對外來我的公共倉庫,即我對.gitconfig所做的任何公開更改將而不是包括usernameemail

問題是沒有設置這些值的方法正在爲我工​​作。每次嘗試後,我會收到以下消息:

您的姓名和電子郵件地址是根據您的用戶名和主機名自動配置的 。請檢查它們是否準確。 您可以通過顯式設置它們取消此消息:

git config --global user.name "Your Name"

git config --global user.email [email protected]

這樣做了以後,你可以修復使用此身份與承諾:

git commit --amend --reset-author

我在我的.extra文件中有以下內容,並且他未能工作:

GIT_AUTHOR_NAME="First Last"

GIT_COMMITTER_NAME="First Last"

[email protected]

我曾嘗試使用這些變量和其他人,以及包括和不包括引號,甚至前綴這些線路的各種方法與export。有點損失!

回答

3

我想出瞭解決方案的任何其他回購:

添加下面你點文件.gitconfig文件:

[user] # These values are set in ~/.gitconfig_local

[include] path = ~/.gitconfig_local

創建~/稱爲.gitconfig_local一個文件,並在您的.gitconfig文件中添加你不想提交或公佈的值。在這種情況下:

[user] name = First Last email = [email protected]

正如你可能已經猜到,[include]指令「鏈接」到本地,二級配置文件,該文件是儲存庫外部,所以私人。 .gitconfig中的其他設置(如別名,顏色和編輯器設置等)仍將公開。

+0

不知道你可以包含來自git配置文件的配置文件。好的解決方案 – arainone

1

所有設置都可以在每個倉庫的基礎上設置:從您的git config命令剛落--global

# from inside your repo : 
git config user.name "Your Name" 
git config user.email [email protected] 

這些配置設置將被保存在.git/config文件(在回購文件夾),將優先於全局配置選項。

這適用於任何git配置選項(別名,顏色,...)

:你將不得不重複的配置爲你做任何新的克隆,或者要使用這個身份

+0

...或者可以添加'--local'爲100%顯式。 – kostix

相關問題