読み取り専用権限を持つgitリポジトリ

gitでは、repositroyを読み取り専用オプションで別の新しいリポジトリにクローンする方法があります。これを行うためのスイッチはありません。

    git clone base-url new-url-with read only access 

私はchmodコマンドでやりたくない

1
私はスイッチについて知りたかったので、私はそれがchmodコマンドを使って行うことができることを知っている
追加された 著者 Rajeev,
chmodの何が問題なの?
追加された 著者 Jasper,
私はちょうど車輪を再発明しないことを決めたと思う。ファイルシステムのアクセス権を正しく設定することで、読み取り専用のリポジトリを作ることができます。そのため、独自のバージョンを作成して読み取り専用リポジトリを作成するのではなく、アクセス権を正しく使用することができます。
追加された 著者 Jasper,

2 答え

ちょうどチェックアウトスイッチではありませんが、 git nofollow noreferrer "> pre-commitフックを実行します。

しかし、 - no-verify オプションでフックをバイパスすることができます。そのため、 chmod を使ってパーミッションを設定するのと同じくらい安全ではありません。

フックの設定はとても簡単です:

  1. create a file called pre-commit under .git/hooks in your repo that should be read only
  2. the content of the file is trivial:
    #!/bin/bash
    exit 1
  3. If a commit is being started now, the hook is invoked. The script always returns 1 and the commit is aborted. Excerpt from the git book:

    Exiting with non-zero status from this script causes the 'git-commit' to abort.

シンプルで簡単。バイパスすることはできますが、それは機密上のコミットを防ぐのに十分なはずです。

より安全なバージョンが本当に必要な場合は、 chmod Jud Hudec

3
追加された

chmod コマンドは、 umask コマンドと同様に、あなたの友人です。

Git自体には、オペレーティングシステムやアクセスプロトコルに既に1つのアクセス制御があるため、アクセス制御はありませんので、冗長になります。実際には、gitリポジトリへのアクセスにはgitが関係しないかもしれません(rsyncでプルまたはプッシュすることさえできます)ので、gitはアクセスを制御できません。

3
追加された