0

A というリポジトリを持つ github に組織アカウントがあります。github はユーザーに貧弱な ACL を提供するため、リポジトリ A と同期する B という別のリポジトリが必要です。

リポジトリ B は、次のことも行う必要があります。

  • すべてのブランチが A と同期しています。
  • A のすべてのコミット履歴を持っている

基本的に、リポジトリ B は A のバックアップである必要があります。

リポジトリ B に異なる ACL を設定する必要があるため、これが必要です。

これを達成するための最良の方法は何ですか?

更新:私はこれを試しました:

git clone B
git remote add upstream A
git fetch upstream
git merge upstream/master
git push origin master

これは実際に機能します。B のマスターは A のマスターと同期していますが、A に存在するブランチでこれを達成する方法がわかりません。

4

1 に答える 1

-2

「リポジトリBはAのバックアップでなければならない」と言っているので、Bは読み取り専用であると想定しています。その場合は、これに「ミラー」を使用することをお勧めします。つまり、次のように B リポジトリを設定します。

git clone --mirror A

その後

git remote update 

Bを更新する必要があるときはいつでも。

ただし、いくつかの注意事項:

  • B へのコミットがある場合、更新が実行されると失われます。
  • KDE プロジェクトが最近教えてくれたように、ミラーは完璧すぎます。したがって、A が何らかの形で破損した場合、B も破損をミラーリングする可能性があります... バックアップの目的で、この質問に対する答えを調べてください: Backup a local git repository .
于 2013-03-28T23:59:06.207 に答える