2012-01-08 27 views
1

嗨,大家好:我有時爲我的公司開發虛擬機。我的虛擬機上的git帳戶屬於accoutn,現在不在我們的github用戶中。因此,我不能承諾我最近的變化或做一個拉動。Git:默默地改變用戶名並像往常一樣繼續

簡直混帳最高審計機關:

權限XXXXXXXX拒絕JOHNDOE

反正...我如何更新混帳使用我的憑據,而不是爲johndoe的,現在人johndoe不在公司?

當然,這裏的奇怪之處在於git推動johndoe這個事實 - 我一直認爲我的git工作正常,就像jayunit100一樣。這可能本身就是一個問題,但現在,我不在乎---我只是想交換正確的git證書,以便我可以拉動,推動並繼續我的生活。

+1

您是否創建了一個新的ssh密鑰並將其與您在Github上的帳戶關聯? – Abizern 2012-01-08 01:32:59

回答

1

首先,你需要確定哪些登錄您使用推/你remote拉,例如從我的項目:

$ git remote -v 
origin [email protected]:photon.git (fetch) 
origin [email protected]:photon.git (push) 

用戶爲git,你的情況,這是[email protected]:repo.git和你想[email protected]:repo.git,那麼你只需要改變遙控器的定義:

$ cat .git/config 
... skip ... 
[remote "origin"] 
    url = [email protected]:photon.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 

編輯與您的新用戶的URL行。然後再次運行git remote -v。你會看到類似這樣的:

$ git remote -v 
origin [email protected]:photon.git (fetch) 
origin [email protected]:photon.git (push) 

現在可以推/拉像往常一樣,它已經改變了只有你訪問該存儲庫的方式,讓生活繼續下去。

+0

這是一個非常好的答案。我希望我能加倍投票。你救了我的命。通過將該.git/config中的URL更改爲「正確」的URL,我能夠使其工作! – jayunit100 2012-01-08 19:40:19

1

在我有限的Git經驗中,除了使用ssh密鑰時,它總是要求輸入憑據。你是否需要(備份和)刪除SSH密鑰,並創建一個與你的帳戶綁定的新密鑰?這樣

1

設置git的用戶信息:

$ git config --global user.name "My Name" 
$ git config --global user.email "My Email" 

至於GitHub的憑據,這是由你的SSH密鑰控制。

+0

如何測試,具體來說,如果git user = git ssh證書? – jayunit100 2012-01-08 17:42:41

+0

那麼你有一個github登錄,它有一個用戶名和電子郵件(你應該已經知道我假設)。你可以將這些與'git config --global user.name'和'git config --global user.gmail'的輸出進行比較。現在在github上查看你的帳戶設置,在SSH密鑰中,應該匹配〜 /.ssh/id_rsa.pub – ctcherry 2012-01-08 18:41:00