2010-10-15 94 views
8

我在服務器上有一個git remote repo。 每當我將本地分支推送到服務器時,〜/對象中的文件對我的特定帳戶(不是我的組 - git)只具有rw權限。 因此,當我的朋友對〜/對象中的這些文件進行推送時,他獲得了權限許可錯誤。在git remote repo上設置正確的組權限

祂同組:git的,但當然沒有寫(因爲集團的git has'nt)

我如何讓Git給那些文件的權限權利讓渡給整個權利的git-group?

感謝您的幫助。

_christoph

回答

1

我建議你有你的開發人員連接到你操作遠程回購服務器時使用共同的用戶帳戶。您可以通過管理SSH密鑰訪問,因此您不必擔心分發/共享密碼等

如果你想堅持使用單獨的用戶帳戶,那麼這個問題得到回答遠遠超過在serverfault: https://serverfault.com/questions/26954/how-do-i-share-a-git-repository-with-multiple-users-on-a-machine

您可能要考慮使用的gitosis運行你自己的回購: http://eagain.net/gitweb/?p=gitosis.git

好Gitosis的安裝說明可在http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

15

git-config(1)

  • core.sharedRepository
    當組(或真),庫被多個用戶之間的組中取得共享(確保所有的文件和對象是組可寫)。 [...]

執行此操作在服務器上:

  1. 配置存儲庫羣共享。
    這將有效地強化未來Git操作的umask。

    cd /path/to/repository.git 
    git config core.sharedRepository group 
    
  2. 清理現有權限:

    find . -type d -print0 | xargs -0 chmod g+s 
    
  3. :新條目(不需要在BSD風格的系統,但通常需要在其他系統)

    chgrp -R git . 
    chmod -R g=u . 
    
  4. 組羣擁有者繼承