2014-02-17 61 views
1

我沒有git的用戶數據集:設置用戶數據提交

$ git commit -m '...' 

*** Please tell me who you are. 

Run 

    git config --global user.email "[email protected]" 
    git config --global user.name "Your Name" 

to set your account's default identity. 
Omit --global to set the identity only in this repository. 

fatal: empty ident name (for <...>) not allowed 

如果我運行這些命令我的用戶數據將在全球設置。我只想將用戶數據設置爲一次提交。

是否有任何論據可以傳遞給git commit來設置用戶數據?

回答

4

--author標誌將設置筆者覆蓋,但您還必須設置提交者名稱和電子郵件。

這裏沒有命令行標誌,但git將使用環境變量,如果它們設置爲:GIT_COMMITTER_NAMEGIT_COMMITTER_EMAIL

假設的SH/bash的風格的外殼:

GIT_COMMITTER_NAME='A U Thor' \ 
GIT_COMMITTER_EMAIL='[email protected]' \ 
git commit --author 'A U Thor <[email protected]>' ... 

應該這樣做。或者,你可以在你的git全局配置中設置它們,然後刪除它們(使用git config --global -e在文件上運行你最喜歡的編輯器,如果你不想擺弄git config --unset)。

編輯:或者,你可以用git -c name=value暫時對其進行配置,例如:

git -c user.name='A U Thor' -c [email protected] commit ... 

注意(如環境變量),這將覆蓋任何文件的配置值。

3

可以使用--author選項註明作者:

git commit --author="Corey Ward <[email protected]>" -m "..." 
+1

嗯..我還是得到'請告訴我你是誰.'的消息。任何其他想法? –

+0

@IonicăBizău這是你爲一個提交設置用戶數據的問題的答案 - 但git仍然要求你在全局配置中也有*一些數據*,即使它沒有用於提交數據。 – eis

+0

@eis如果我不想設置全局用戶數據或編輯'〜/ .gitconfig'文件,那麼解決方案是什麼? –