21

4 人の開発者がいるチームがあるとします。プロジェクトの中央リポジトリもあります。開発者は、中央リポジトリからプッシュおよびプルします。ここ分散化されているが集中化されているセクション)では、チームメンバーのローカルリポジトリ間でプッシュ/プルが可能であると述べています。

各開発者は、原点にプルしてプッシュします。しかし、一元化されたプッシュプル関係に加えて、各開発者は他のピアから変更をプルしてサブチームを形成することもできます...技術的には、これは Alice が Bob という名前の Git リモートを定義し、Bob のリポジトリを指し、その逆を意味するだけです。逆に

ここでの問題は、Bob のリポジトリを指しているリモート名 bob を定義する方法です。問題があれば、開発者はさまざまなオペレーティング システムを使用する可能性があります。

4

6 に答える 6

5

ホストにユーザー アカウントを確立し、レポにアクセス許可を設定すると、名前付きの「リモート」を確立するかどうかに関係なく、他の誰かが SSH 経由でプッシュ/フェッチできます。

git push user@host:/path/to/repo branch

コードを頻繁に共有する場合は、サーバー パスを記憶するように名前付きリモートをセットアップできます。

git remote add remotename user@host:/path/to/repo

git daemon共有に緊密な調整が必要な場合 (そしておそらくセキュリティが非常に緩い場合) は、必要に応じて「マスター」で一時的に起動できます。 この場合、上記の共有コマンドは引き続き適用されますが、user@host:/pathは に置き換えられgit://host/ます。gitデーモンのドキュメントも参照してください。

または、中間共有に使用する別の専用リポジトリをセットアップすることもできます: How do I setup a staging repository in git?

于 2017-03-11T03:10:35.417 に答える
4

Alice と Bob が何らかの機能について一緒に作業する必要があるのは、非常によくあることです。それまでの間、開発はさまざまな開発者がさまざまなブランチで実行する必要があります。

簡単なアプローチは次のとおりです。

  • 新しいブランチ sprint_1 を作成し、アリスとボブは sprint_1 にチェックアウトします
  • 機能に関連するすべての変更はここで行う必要があります
  • プッシュおよびプル操作は、次を使用して実行する必要があります

    git pull origin sprint_1  and git push origin sprint_1
    

変更が完了し、sprint_1 のコードが安定したら、他のブランチとマージできます。sprint_1 のコードが長い道のりを歩んできたら、競合やチェリー ピッキングを避けるために、マージよりもブランチをリベースすることをお勧めします。

于 2013-08-16T06:58:02.550 に答える