1

私はGitにかなり慣れていないので、誰かが私を助けてくれることを望んでいました。私たちは外部プロバイダーと協力しており、いくつかのブランチ(たとえば、branch1とbranch2)を持つgithubにコードがあります。ベアリポジトリを使用するだけでローカルWindowsgitサーバーを使用する予定であり、開発者はファイル共有だけでこれにアクセスでき、クローン、プッシュ、プルを実行できます。ローカルサーバーの背後にある理由はサイズによるものです。

これを使用して実装するための最良の方法は何でしょうか?次に例を示します。1。サーバー上にベアリポジトリを作成します--gitinit--bare 2.github名にリモートを追加しますgithub3.リモートリポジトリを取得します(githubから)4。ユーザーがローカルリポジトリのクローンを作成します... 5. push /ローカルにプル...6。コードをgithubのブランチにどのようにマージしますか?

更新:申し訳ありませんが、もう1つ言及し忘れたのは、サードパーティのために変更できないgithubへのプルアクセスのみが許可されていることです。すべてが完了すると、プッシュアクセスが許可されます

ありがとう

4

2 に答える 2

1

リポジトリに表示される変更をGithubにプッシュするスクリプトを設定するか、必要な時期を決定して、リポジトリの独自のクローンからGithubに変更を手動でプッシュするように誰かに依頼することができます。分散環境では、特定のリポジトリに他のリポジトリと異なる技術的な理由がないことを忘れないでください。それはすべて慣例です。

ただし、注意が必要なことの1つは、ファイル共有を使用すると、サーバー上のリポジトリ内のすべての変更は、プッシュを実行するユーザーによって直接行われるということです。LANを介しても、インターネットを介してインテリジェントサーバーと通信するよりも時間がかかる場合があります。また、過去にSMBを介してリモートGitリポジトリにプッシュするのに苦労しました。可能であれば、ファイル共有を使用するだけでなく、サーバーをセットアップしてください。それが不可能な場合は、十分にテストして、実際にパフォーマンスが向上していることを確認してください。

コメントで述べられているように、人々が最初の取得を行うために同期ミラーを設定する理由はありません。すべてのリポジトリーが同じデータを持っていることを忘れないでください。毎回履歴全体をダウンロードするのではなく、新しい人が隣の同僚からすべての履歴を取得して、Githubにプルしてプッシュするのを止めることはできません。

于 2012-07-24T08:25:41.243 に答える
0

サイズが問題になるときはいつでも、Gitはすべてをドロップできる集中型VCSではないことを忘れないでください。

大量のファイルセットをいくつかのGitリポジトリに分解して、開発者がそれらのリポジトリの一部でのみクローンを作成/作業できるようにする必要があります。

Gitではファイル共有に関する作業を避ける必要があります。パフォーマンス低下します...

于 2012-07-24T08:40:37.713 に答える