2014-05-15 34 views
0

在此先感謝,如果我在涉及到git時使用了不準確的術語,我很抱歉。我在盡我所能。用不同的用戶執行git-fetch

如何使用與我登錄的用戶不同的用戶執行git-fetch?我正在使用一個mac,並且我嘗試了從命令行和使用SourceTree這樣做,但失敗了。目前,我需要經過以下艱鉅的過程,每當我想要做我訪問存儲庫的相關東西的git:

  • 只有一次:創建我的系統上的其他用戶(在Mac上我使用)與存儲庫(或其所在的服務器)所期望的確切用戶名。
  • 登錄到本地系統上的所述用戶。
  • 遞歸地將本地git克隆目錄的目錄chown給這個用戶。
  • 執行git fetch。
  • 重新登錄我的普通用戶。
  • 遞歸地回到我的普通用戶。

有了一些腳本,這不是太痛苦了,但這些都是我處理的非常大的目錄,因此chowning他們需要一段時間,我想避免的麻煩。我已經這樣做了六個月了。我使用的命令行和SourceTree,我還沒有找到一種方法來解決這個問題(SourceTree似乎支持使用不同的用戶名爲存儲庫,但它不適合我)。

編輯:我可能不會修改這些文件的權限。

+0

將自己和其他用戶添加到組中,並使該回購組可寫並由該組擁有。 – jthill

+0

然後你可以'sudo -u thatuser git fetch' – jthill

+0

謝謝,但不幸的是,我不能這樣做 - 存儲庫跟蹤文件權限,並且組權限不允許這樣做。 – Dorfl

回答

1

我的問題出乎意料的答案是 - 通過「git config -e」在「ssh://」地址/協議前綴和地址本身之間插入「username @」(使用實際用戶名)而不是通過SourceTree的用戶界面,做到了這一點。奇怪的。

+0

爲什麼這很奇怪?這是這個問題的通用解決方案:這是URL標準的一部分(https://www.ietf.org/rfc/rfc3986.txt)。我知道的每個工具都可以處理URL。 –

+0

奇怪的是,用戶界面沒有辦法做到這一點,我的意思是。 – Dorfl

相關問題