2017-03-17 134 views
3

我有兩個GitHub帳戶,一個用於我的工作,另一個用於個人用途。我想在做提交時保持這兩個不同。GitHub如何知道我正在使用哪個帳戶?

目前,當我可以在本地系統上的不同存儲庫中更改我的GitHub憑據時,它是基於它是否爲工作/個人回購。一旦我在回購協議,我寫了下面的命令來更改該帳戶:

git config --global user.name "myusername" 
git config --global user.email [myemail] 

然後我處理我的Git命令,它似乎很好地工作。我仍然有幾個問題,因爲我覺得這不是處理事情的正確方法。 1)如果我在我的工作回購中將我的git用戶/電子郵件更改爲我的個人帳戶並進行了提交,那麼該提交是否會成功並通過GitHub?它似乎是我不明白的。 GitHub會不會檢查該帳戶是否有權對該回購進行提交?

2)你能推薦一個更好的方式來處理我的工作/個人賬戶之間的交換,以保持兩者完全分開嗎?

謝謝!

回答

2

如果我在我的工作回購中將我的git用戶/電子郵件更改爲我的個人帳戶並進行了提交,那麼該提交是否會成功並通過github?

是的,但它會被歸因於錯誤的電子郵件地址。見Github help

如果你的提交未鏈接到任何用戶,我們將展示他們

Git中,每次提交旁的灰色 Octocat標誌被打上一個電子郵件地址。就GitHub而言,這可以是任何你想要的電子郵件地址。

This answer找到了本地帳戶之間快速切換的方法。我想告訴混帳要使用的電子郵件中.git目錄中的每個回購的更新.git/config文件的想法:

[user] 
    name = John Doe 
    email = [email protected] 

是添加到.git/config文件每個倉庫你的工作和git將您的屬性基於每個存儲庫電子郵件提交。

如果你想知道如何Github保持跟蹤所有這一切,它通過一種叫做email aliases的東西來完成。

0

1)

Github從你的ssh公鑰中識別出你。如果您沒有提交公鑰,當您嘗試推送代碼時,github會詢問您的賬戶名稱和密碼。在你的github配置文件中檢查你的'設置 - > SSH和GPG密鑰 - > SSH密鑰'。

git config --global user.name "myusername" 
git config --global user.email [myemail] 

的混帳配置內容只是告訴你要什麼樣的名字叫,你要發送的電子郵件其他人。事實上,你甚至可以將它們留空或填寫任何內容。

git config --global user.name "what ever" 
git config --global user.email [email protected] 

2)

您可以嘗試使用不同的SSH密鑰。

[user] 
    name = your honey 
    email = [email protected] 

工作:

[user] 
    name = your reliable employee 
    email = [email protected] 
或者乾脆,你可以在你的.git/config中

個人使用不同的電子郵件地址和名稱

相關問題