1

私はいくつかのコンピューターのローカルネットワークを持っており、それぞれが同じコードのローカルGitリポジトリを持っており、さまざまな開発者がそれらに取り組んでいます。一元化されたサーバーを使用せずに、各ローカルリポジトリの変更を他のすべてのリポジトリと同期する方法を見つけたいと思います。

(興味がある場合、これは、どのコンピューターでも突然ディスクの誤動作が発生し、通常はそのコンピューター上のすべてのデータが失われる可能性があるためです。そのため、単一障害点を設定する余裕はありません。 。)

ワークフローの可能性の例をいくつか見てきましたが、それらはすべて、リモートシステムを固定するためのセットアップが必要です。

私が知りたいのは、フルメッシュトポロジ
のように、ネットワーク内の他のすべてのコンピューターのリポジトリと同期できるリポジトリのセットを設定するにはどうすればよいですか?

次に、このリポジトリネットワークにコンピュータを追加/削除するにはどうすればよいですか?

4

2 に答える 2

0

集中サーバーを使用します。中央サーバーのディスクに障害が発生しても、すべてのデータが失われることはありません。すべての開発者は、集中型サーバーを使用していなかった場合と同じ完全なリポジトリのコピーを既に持っています。回復するには、開発者は新しい集中型サーバーを指名してそこにプッシュするだけです。

于 2012-09-06T00:59:11.300 に答える
0

リポジトリの共有は簡単です。すべての開発者のシステムにパブリック リポジトリを設定するだけです。

全員に自動的に同期するには、リポジトリ自体に保存されているプッシュとプルを行うための何らかのシェル スクリプトを作成する必要があります。コンピューターを追加するgit push new-computerには、スクリプトに a を追加するだけです。

ただし、中央サーバーは DVCS の「単一障害点」ではありません。ダウンした場合は、復旧するまで他の誰かのレポからコラボレーションするだけです。かなり簡単に回避できる比較的まれな発生を回避するために、多くの複雑さを追加しています。

于 2012-09-04T21:53:51.703 に答える