3

小規模な開発チームの VCS として git を使用しています。サーバーのメイン リポジトリはベア git リポジトリとして保持しています。

管理者やプロジェクトに関与していない人は、git について何も知らなくてもコードとドキュメントを参照できる必要があるため、参照用にサーバーにクローンも保持しています。クローンを最新の状態に保つために、誰かがベア リポジトリにコミットするたびにクローンのマスター ブランチを更新するフックをインストールしました。

ここに問題があります: 一部のナックルヘッドは常にブラウジング クローンに入り、コードの変更を開始します。これにより、マスター ブランチのプッシュ操作が失敗します。この 1 つのクローンに読み取り専用ポリシーを適用する方法を見つけ出すか、それを最新の状態に保つ別の方法を見つけたいと思います。

4

3 に答える 3

4

このような状況に対処する最善の方法は、問題のナックルヘッドとよく話し合うことです。

それ以外の場合、最も簡単な方法は、オペレーティング システムのパーミッション システムを使用することです。これにより、ベア リポジトリからファイルを更新するスクリプトを除いて、すべてのファイルが読み取り専用になります。

裸のリポジトリからプルする前に、 reset --hardgit clean -fを取得することもできます。

(おっと、申し訳ありませんが、スクリプトは 2 週間の作業を一掃しましたか???? )

于 2011-06-22T22:45:17.520 に答える
3

gitwebcgit 、またはその他の HTTP ベースのリポジトリ ブラウジング インターフェイスを介して単純にアクセスを提供しないのはなぜですか?

https://git.wiki.kernel.org/index.php/Gitweb

于 2011-06-22T22:41:05.413 に答える
0

git clone を読み取り専用にする方法はありません。同様の効果を達成する 2 つの回避策があります。

1 つの方法は、ファイルとフォルダーのアクセス許可を読み取り専用に変更することです。

私が考えることができる他の方法は、サーバーで許可システムを使用することです。gitolite
を 使用して、リポジトリを使用する特定のユーザー/グループに読み取り/書き込みまたは読み取り専用アクセスを許可できます。 ここに他の git 管理ソフトウェアのリストがあります: https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Access_control_.2F_Project_hosting

于 2011-06-22T23:03:03.777 に答える