git clone –shared repository | clone後のリポジトリーを共有する
git clone したリポジトリーを共有するには
(例: usersグループに入っている人同士
同じグループで permission 775の時
git initだけの場合、他の人が書き込もうとするとエラー
$ git add test
fatal: Unable to create ‘/home/git/share_tmp/.git/index.lock': Permission denied
fatal: Unable to create ‘/home/git/share_tmp/.git/index.lock': Permission denied
shared=trueとする
git init –shared=true
.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
sharedrepository = 1
[receive]
denyNonFastforwards = true
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
sharedrepository = 1
[receive]
denyNonFastforwards = true
となり、さっきエラーだった git addなどが可能となる。(各ファイルはグループのpermissionが必要
cloneの場合。git clone host:/master/path/to . とした場合
git config core.sharedrepository 1
これで、.git/configに
[core]
sharedrepository = 1
sharedrepository = 1
が入る。これで、グループパーミッションがあれば編集できて、add commit pull pushなど可能になる。
パーミッションの変更はこんな感じで775 664に設定
$ chmod -R 775 .
$ find . -type f -print0|xargs -0 chmod 664
$ find . -type f -print0|xargs -0 chmod 664
普通の使い方では利用場面は無い気がしますが。どうしても共有して編集したい場合に。