user1已經使用他存儲在〜/ .ssh 下的ssh密鑰檢出了〜/ proj1下的源代碼user2想要做一個「git pull」來同步在〜/ proj1下進行更改,他必須使用他的ssh密鑰來執行此操作。如何使用一組不同的SSH密鑰從git中提取
user2修改〜/ proj1/.git/config以反映url爲user2 @ host:/foo/proj1.git 使用user2的憑證完成git pull或後續推送的過程是什麼?
user1已經使用他存儲在〜/ .ssh 下的ssh密鑰檢出了〜/ proj1下的源代碼user2想要做一個「git pull」來同步在〜/ proj1下進行更改,他必須使用他的ssh密鑰來執行此操作。如何使用一組不同的SSH密鑰從git中提取
user2修改〜/ proj1/.git/config以反映url爲user2 @ host:/foo/proj1.git 使用user2的憑證完成git pull或後續推送的過程是什麼?
我不知道我在這裏完全理解......
兩個用戶賬號的用戶1下登錄?否則實際上會在每個用戶帳戶的主文件夾中有兩個文件夾〜/ proj1。
不管這個細節如何,我知道你會希望兩個用戶共享同一個工作區。這對我來說聽起來像是一個非常糟糕的主意。爲了進行比較,就像在車裏安裝兩個方向盤,這樣兩個前排座椅就成了司機。
爲什麼你想要兩個不同的用戶使用相同的工作區?這完全違背了git或任何其他源控制機制的目的。
如果他們都在同一個工作空間工作,你如何辨別哪個用戶做了什麼改變。當然,如果你找到了解決這個問題的辦法,那麼對git執行的實際操作將由用戶自己的證書完成,但這並不意味着這些更改實際上是他的開始。實際上,這將消除知道誰做出了什麼動作的任何有用性,因爲無法確切知道誰在什麼時候做什麼。
在我看來,這個困境的最好(也是唯一可行的)解決方案就是不嘗試。讓每個用戶在自己的home文件夾下做一個git克隆。每個擁有自己的git實例的用戶都配置爲使用自己的憑據和人口統計信息,並且每個用戶都會將更改推送到克隆的任何實例。
如果您希望他們在不通過中央實例的情況下共享更改,他們總是可以從彼此拉開或者互相推送(或者達到相同的效果)。這實際上是與SVN相反的git之美。 「中央」倉庫的鼻涕有任何特殊的功能,它只是在語義上,因爲它適合你的工作流程。所有的存儲庫都是平等的,你可以從任何一個存儲庫中取出或取出。這一切都有效,因爲每個人都有自己的存儲庫。我很確定我們可以解決這個問題,並允許通過巧妙製作的別名和腳本共享,但爲什麼!?共享存儲庫會使事情變得不必要地困難。
如果你沒有一個集中的存儲庫,你可以有用戶2克隆的用戶1.沒有超級靚兩個取決於1對他的正常工作流程庫,但它的工作原理混帳自然的工作流程中。
您必須使用~/.ssh/config
文件來定義你的鑰匙你的資料庫,如所描述here。
(我投票這個問題,因爲重複的,因爲它是非常接近的另一個)
其實它是一個EC2實例和用戶登錄,EC2用戶,因此混亂 – user352290
所以基本上你有一個帳戶,有多個用戶可以在同一個工作區中玩一個登錄?同樣,這裏的最好的辦法是讓每個用戶在登錄系統創建自己的workfolders和克隆自己的工作區。 – Newtopian
我在想,如果有一個更簡單的方法,如果不是我將創建一個新的用戶。 – user352290