5

bitbucketを使用してプロジェクトを設定しました。'production' [P]コードをリポジトリに配置し、そのフォーク[m]を作成し、同僚[C]もそのフォークを作成しました。

    [P]
   /   \
 [M]   [C]

いくつかの変更を加え、プルリクエストを作成して受け入れたので、[P]に私のコード[M]が追加されました。

ここが私が混乱しているところです。[C]、私の同僚のリポジトリはどのようにして更新されたコードを取得しますか?

ありがとう!

4

2 に答える 2

9

同僚はPからプルする必要があります。

masterPのブランチで作業している場合、コマンドは次のようになります...

git pull origin master
于 2012-04-13T23:52:10.777 に答える
3

注:単純なクローン作成ではなく、実際にフォーク(サーバー側でリポジトリのクローンを作成する行為)について話している場合、スキーマは次のようになります。

             BitBucket

    ------------[P]-----------
    |            ^           |
    |            |           |
 (forked) (pull request)  (forked)
    |                        |
    v                        v
   [M]                      [C]
    |                        |
----|------------------------|-----  
    |   Local workstations   |
    |                        |
 (git clone)             (git clone)
    |                        |
    v                        v
 [MLocal]                  [CLocal]

つまり、ローカルワークステーションではなく、BitBucketサーバー上にMあります。 ' 'は、とのそれぞれのアップストリームリポジトリ、つまり、ではなくMまたはCになります。 ( GitHubについては、「オリジンとアップストリームの違いは何ですか」を参照してください。ただし、BitBucketにも適用されます)CMuserCuser
originMLocalCLocalP

これは、次の理由でMuserに役立ちます。

  • Muser直接プッシュしたくない場合Pがあります(ただし、彼はPBitBucketの所有者です)。したがって、ここでは、レポMが「バッファー」として機能します。
  • Cuserプッシュする権利がないPので、彼もフォークする必要があります

その場合、のCuser更新を確認するには、レポジトリ(つまり、フォークのクローンローカルレポジトリ)にリモートとしてP追加する必要があります。PCLocal

git remote add P https://bitbucket.org/Puser/P
git pull P master

これらの新しい変更が統合され、ローカルで(上で)テストされると、によって導入された新しい進化とともに、にCLocalプッシュバックできます。これらの新しい変更のみがプルリクエストの一部となり、(および所有者が)Pを調べて追加します。CCuserMuserP

同様に、に受け入れられた変更を元に戻すには、にリモートとしてMuser追加する必要があります。PMLocalCP

于 2012-04-14T09:54:05.403 に答える