私は現在GitHubリポジトリupstream
に寄稿しており、そこから私はorigin
をフォークしています。フォークされたレポを複製した後、upstream
またはorigin
からリモートブランチをチェックアウトする必要があるかどうか混乱します。リモートブランチxをorigin
からチェックアウトしてから、後でupstream
から引き出すと、upstream
のブランチxの新しい変更が、リモートブランチxにマージされ、origin
からチェックアウトされますか?そうでなければ、代わりにupstream
からリモートブランチxをチェックアウトします。このブランチをプッシュしたいときは、宛先レポとしてorigin
を指定する必要がありますか?私がgit push -u origin x
の場合、ブランチxのトラッキングリモートをorigin
にリセットしていませんか?Git/GitHub:リモートブランチを起点または上流からチェックアウトしますか?
2
A
答えて
0
私は
origin
からリモートブランチx
をチェックアウトし、後で新しい変更がupstream
でx
を分岐するx
がorigin
あなたドンからチェックアウト私のリモートブランチにマージされます、upstream
から引く場合upstream
から引き出すと、あなただけを取得できます。
次に、あなたは、あなたがorigin
にプッシュ強制upstream/master
の上にあなたのブランチx
をリベース。
は "Pull new updates from original GitHub repository into forked GitHub repository"
最初のプッシュはgit push -u origin x
でも参照してください。
それが(それは他の人が起源/ X上で作業されていない)された場合には、他のプッシュは、あなたがupstream/master
の上にx
をリベースする場合を除き、git push
簡単ですgit push --force
。
私はまだまだGit初心者ですが、git pullのポイントは何ですか?私の理解では、 'git pull'は本質的に' git fetch'とそれに続く 'git merge'です。 「上流」から引き離さないと言っているならば、「起源」が「起源」のクローンよりも最新の状態になることは決してないので、「起源」から引き離すのは理にかなっていません。 – Emerson
@Emerson git pull merges(非常に面白くない原点からフェッチし、origin/xをxにマージします)。アップストリームから更新したいときは、マージするのではなく、リベースする(つまり、新しいベースの上にコミットを再生する)。これにより、将来のマージ/プルリクエストは簡単に適用されます。 – VonC
@エマーソンあなたがフォークであり、あなたがそれを扱っている(つまり押している)唯一の人だから、あなたは起点から引っ張らない。 – VonC