質問

サーバーには、裸のgitリポジトリに保存されている3つの(実際には:数千の)テキストファイルがあります:A.TXT、B.TXT、C.TXT。

  • ユーザー「管理者」は、それらすべてを表示/編集する必要があります。
  • ユーザー「foo」は「a.txt」と「b.txt」を表示/編集する必要がありますが、「c.txt」のコンテンツを表示することは許可されていません。
  • ユーザー「ゲスト」は、「a.txt」を表示/編集することのみを許可する必要があります。

3人のユーザー全員が、編集が許可されているファイルでGitリポジトリをクローンすることができるはずです。

Git(...またはMercurial)でこれを作成する可能性はありますか?

アイデア:ユーザー「Foo」と「ゲスト」のGitのスパースチェックアウト機能を使用して、裸のgitリポジトリの2つのクローンを作成できますか?

他に(より速い)アイデアはありますか?

役に立ちましたか?

解決

あなたがすべき:

  • 3つの枝があります
    • ゲスト(のみ A.txt ファイル)
    • ユーザー(aおよびb.txtファイルを使用)
    • 管理者(すべてのファイルを使用)

つまり、頻繁にマージして異なるブランチを更新し、異なる変更を伝播します。

プラス、 ギトライト, 、あなたは誰が(ブランチレベルで)を引くことができる/プッシュできるかを制御できます。つまり、次のことを意味します。

  • ゲストは引っ張ることができるだけです guest ブランチ。
  • fooユーザーは guest ブランチと users ブランチ、プッシュできる間 users ブランチ(またはユーザーにのコンテンツを更新してもらいたい場合は両方のブランチ guest ブランチ)。
  • 管理者はすべてのブランチを引っ張る/引っ張ることができます。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top