小さな開発チームにはVCSとしてgitを使用しています。私は裸のgitリポジトリとして私たちのサーバー上のメインリポジトリを保持します。表示専用のgitクローンを作成するには
プロジェクトに関与していない管理者や人々は、コードとドキュメントをgitについて知らずに見ることができる必要があります。そのため、私たちのサーバ上でクローンを閲覧しています。クローンを最新の状態に保つために、誰かが裸のリポジトリにコミットするたびにクローンのマスターブランチを更新するフックをインストールしました。
問題があります:ナックルヘッドの中には常にブラウジングクローンに入り、コードを修正し始めると、マスターブランチプッシュ操作が失敗することがあります。私は、この1つのクローンに対して読み取り専用のポリシーを実施する方法、またはそれを最新の状態に保つための別の方法を見つけ出す方法を理解したいと思います。
うーん、悪い考えではなく、かなりありません。開発者がRepoを押すと、その開発者のユーザーIDの下でフックスクリプトが実行されるため、クローンからすべての開発者を禁止する必要があります。 私はgit reset -hardを使っても構わないかもしれませんが、クローンでそれを引き起こす方法はわかりません。現在、更新はrepoのコミットによってトリガされ、フックはプッシュコマンドです。また、エラーメッセージ "パスでハードリセットできません" – mjohnson
私は、開発者が裸のリポジトリファイルへのアクセスを要求したことに気づいていませんでした。私はssh + keyfileまたはgit-daemonのアクセスを想定していました。あなたがそのルートに行きたくない場合、Unix/MacOSX上でプルスクリプトを追加し、/ etc/sudoersを設定して、devsがsudoを使って 'view-only'ユーザー。フックは 'sudo/usr/local/bin/pull_new_version'を使用して呼び出すことができます –
私はいくつかの例が興味を持っています、 –