簡體   English   中英

更改用於 git pull origin 的帳戶

[英]Change the Account that is used to git pull origin

我已經嘗試檢查幾個 SO 問題和答案,但仍然無法解決我的問題。 場景是這樣的:

User A with Git Account A git cloned repo to freshly installed server. 
Because of this, the git account that was registered on the server was User A. 
(If I understood it correctly. please correct me if I am wrong in this part)
Now I would like to use User B with Git Account B as commiter/puller/pusher to the server.

我嘗試的是使用以下命令更改用戶和 email:

git config --global user.name "userb"
git config --global user.email "userb@gmail.com"

git config --local user.name "userb"
git config --local user.email "userb@gmail.com"

git config user.name "userb"
git config user.email "userb@gmail.com"

在 3 個不同的場合。 仍然無法解決我的顧慮。 我可以使用命令git config --listgit config user.namegit config user.email查看更新后的用戶和 email,所以我知道該值確實發生了變化。

如果這不可能,我也在考慮一起刪除帳戶並在拉/推時輸入用戶/電子郵件和密碼而不刪除 git 歷史記錄。

你做錯了事。 您正在嘗試更改用於標記您的提交的用戶名,而您必須重置您的 git 用戶帳戶憑據。

在 Linux 問題git config --unset credential.helper下,在 Windows 下通過 Windows 憑據管理器刪除憑據。

具有 Git 帳戶 A git 的用戶 A 將 repo 克隆到新安裝的服務器。 因此,在服務器上注冊的git賬號就是用戶A。

沒有。Git 客戶端(如git clone )將使用兩種常見/標准傳輸機制與 Git 服務器通信:

  • https:客戶端提供用戶名和額外的身份驗證數據(密碼、令牌等); 或者
  • ssh:客戶端提供公鑰; 服務器查找公鑰以確定客戶端聲稱是誰, 1並向客戶端挑戰只能由持有相應私鑰的人完成的任務,這樣如果客戶端確實完成了任務,則聲明必須已經准確了。

這些機制不是由 Git 本身提供的,而是由某種訪問包裝器提供的:web 服務器或sshd

此時,客戶端已通過服務器的身份驗證,直到現在 Git 本身才真正進入畫面 服務器的 Git 軟件將服務器存儲庫中的每個提交都交給客戶端(以便客戶端擁有所有提交),並向客戶端顯示所有分支名稱(客戶端然后將其更改為遠程跟蹤名稱,以便客戶端有所有提交,根本沒有分支)。 然后客戶端與服務器斷開連接,在新的 Git 存儲庫中創建一個分支,並完成。

這里唯一保留的是客戶端用來到達服務器的 URL。 這個 URL 保留在客戶端剛剛創建的 Git 存儲庫中 除非服務器保留日志(通過其 web 服務器和/或 sshd), 2服務器現在在所有客戶端都沒有記錄

下次客戶端需要與服務器對話時,客戶端會提供 URL,它已方便地保存在簡稱origin下。 3此 URL可能包含用戶名,特別是如果您使用 https:// URL。

所以:檢查 URL,使用git remote -v ,找出您使用的是哪個協議,如果該協議是https:// ,則 URL 中嵌入了一個用戶名。如果是,您可以編輯或刪除該用戶名。 如果不是,並且 URL 是https:// URL,請繼續Antonio Petricca 的回答 如果 URL 是ssh://之一,請查看 ssh 身份驗證。


1在某些服務器上,用戶使用自己的帳戶登錄,但對於通常的 GitHub、GitLab 和 Bitbucket 設置,用戶提供通用用戶名git 因此,服務器必須使用這個公鑰技巧來弄清楚用戶聲稱是誰。

2大多數服務器確實保留日志,但這取決於服務器,它們最多用於審計和安全。 它不會影響將來連接到服務器的嘗試,除非運行服務器的人員發現您的連接令人擔憂並阻止它。

3你可以選擇其他名字,但沒有理由這樣做,而且你大概也沒有這樣做。

暫無
暫無

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

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