2017-02-20 108 views
1

我想爲我的Git提交創建不同的用戶。例如,現在我們有5個系統與Git一起安裝。但在提交到Git遠程倉庫中時,我可以在提交窗口中更改我的默認作者姓名和電子郵件。如何防止Git提交的作者被更改

我該怎麼做才能讓它們不能改變?

+1

我不認爲你可以。也許(也許)你可以用git掛鉤(https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks)或簽署提交(https://help.github .com/articles/signing-commits-using-gpg /和http://pedrorijo.com/blog/git-gpg/) – pedrorijo91

回答

1

您的Git存儲庫是您的。你可以做任何你想要的。沒有人可以阻止你,並且你不能阻止任何人做任何事情他們想要他們的存儲庫。

簡而言之,沒有什麼 - 沒有字面意思 - 你可以阻止其他人聲稱自己是你,或者阻止自己聲稱自己是別人。銀行ATM具有同樣的問題。爲了確保你是,而弗雷德是弗雷德等等,你必須走出問題本身,並尋找認證。如果有人聲稱是Fred,你怎麼知道他是否是Fred?特別是,如果你以前從未見過他,你怎麼知道他是否真的是弗雷德?他可能是Ravi,或者Binyamin或者Jürgen!

如果你和Fred有共同的祕密,或者其他方式決定是否相信他,你可以使用它。這就是你可以做的全部:決定,當你從某人那裏獲得一些提交時,當他們告訴你他們是Fred時,你是否相信他們。

Git在一定程度上內置了GPG簽名驗證(它不會執行GPG簽名本身,它依賴於第三方軟件)。您可以簽署單個提交,也可以簽署帶註釋的標記。出於一系列理由,簽署個人提交通常比成本更高。 Git提交形式爲Merkle Tree,因此檢查註釋標記的簽名可以確保從該標記可達的提交的合理級別。 (但是,保護的數量並不比SHA-1大得多。)另請參閱GPG

1

正如你所提交你可以設置每個作者提交

git commit -m "Your commit message" --author="Author Name <[email protected]>" 

我已經包括了這個例子中,-m標誌,但你可以排除它,在你喜歡的編輯器設定的提交信息。

這是假設你正在使用CLI,如果你使用GUI/IDE讓我知道,我會看看如果我可以找到如何使用作者設置。

+0

這似乎沒有回答OP的問題。他們問他們如何防止提交者更改作者信息。 –

+0

@DanLowe我在當時解釋措辭時回答了這個問題 - 之後它通過編輯進行了更改。 –