簡體   English   中英

Git推送和提交

[英]Git push and commiter

當我在提交中推送到GIT(Gitlab)存儲庫時,我看到該提交是由“ user.email”和“ user.name”中設置的用戶進行的。

為什么會發生? 我認為有關用戶的信息應從Gitlab配置文件中獲取。 現在可以欺騙我們的身份了。

出於以下原因,使用外部身份源重寫作者信息在Git中不可行:

  1. Git旨在在完全沒有中央服務器的分布式環境中使用,並且您可以直接從其他貢獻者的克隆存儲庫中提取信息。 在這種情況下, 必須允許您傳遞未創建的提交,並保留作者信息。 重寫此信息可能會導致數據丟失,在此情況下,開發人員將提交提交提交給您,然后您嘗試將其推送到Gitlab。 您沒有寫它們; Gitlab不應該假設您這樣做。 Git模型要求您信任您的同輩不要對誰寫了什么撒謊。
  2. 更改作者/提交者信息會更改提交ID ,這將導致大量不必要的分支,並嚴重混淆了任何嘗試針對此存儲庫進行開發的人員,因為他們的提交在每次推送時都會不斷在服務器上被重寫。

cdhowie的答案(特別是第二點)解決了為什么它做得不一樣的原因。 為了清楚起見,我將添加提交者和作者信息是由git創建的,而不是由gitlab或任何其他托管環境創建的-當最初在某人的本地存儲庫中創建提交時。 因此,除非開發人員碰巧將其本地配置與其同步,否則gitlab驗證的信息將不可用,並且如果您擔心有人在“欺騙”身份,那么顯然您不相信開發人員會這樣做。

但是,這導致了我決定添加答案的真正原因:我還沒有看到有人解決您對身份的擔憂。 提交者,作者姓名和電子郵件不是 (也從未設計成)將工作鏈接到其創建者的安全方法。 如果您需要某人以安全的方式擔保提交,則需要使用簽名的提交。

GitHub使用提交標頭中的電子郵件地址將提交鏈接到GitHub用戶。 如果您的提交已鏈接到另一個用戶,或者根本沒有鏈接到某個用戶,則可能需要更改本地Git配置設置,或者將電子郵件地址添加到帳戶電子郵件設置中,或者同時執行這兩個操作。 請參閱-> https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM