2016-08-19 11 views
0

GitHubにいくつかのプロジェクトがありますが、そこにはブランチがほとんどありません。例えばGitubのブランチに何か良いものを引っ張ったりマージしたりするには

  • マスター
  • アルファ
  • ベータ

。今私は新しい支店alpha-issue1を作成します。 alphaブランチで私の大学でコミットを追加しました。この変更を私のブランチにコピーしたいと思います。初めて私はgit merge alphaが良いアイデアだろうと思っていますが、その後、私は '良い方法'について - git pull alpha test-issue1(私が正しい場合)を読んでいます。だから私はどのように選択するかわからない..

+2

'git pull'は本質的に' git fetch'に続いて 'git merge'です。これは、 'git merge'を実行する方が良いか、' git merge'を実行する方が良いかを尋ねています。質問する質問は、「マージする」ではなく、「マージする対リベース」、「マージする場合は、正確に*マージするもの」です。 – torek

答えて

1

になります:git pullは(おおよそ)git fetch ; git mergeと同等です。必要ならば、正確な動作をgit help pullで読むことができます。したがって、mergepullの違いは、多かれ少なかれコマンドを入力することです。機能的な違いはありません。

あなたが指定したコマンド例に関しては、意味がありません。あなたの質問パー

git pull alpha test-issue1

alphaは支店ではなく、リモートであるので、これは(構文はgit pull <remote> ...ある)構文的に間違っています。また、git pullの "target"ブランチを与えることはできません。すべてのマージは、現在チェックアウトされているブランチに行きます。

0

私はあなたの質問が正しいかどうかは確かですが、ここに私の考えです。 alphaを新しいブランチにブランチしてコミットした場合、標準的な方法はブランチをマージしてalphaに戻した後です。チーム内で作業するときに新しいブランチをalphaにマージする前にalphaalpha-issue1にマージすることをお勧めします(多くの場合、同じブランチの異なる開発者からコミットします)。そうすれば、メイン(alpha)の代わりに作業ブランチ(alpha-issue1)の競合を解決する必要があります。 一方、通常、最新のコミットでブランチを更新する場合は、pullが使用されます。それはalpha-issue1の上にalpha-issue1から分岐するのでgit merge alphaalpha枝に加えられた変更を再生します、あなたがalpha-issue1上にあると仮定すると、

0


git pull alphaはそれがalpha-issue1から分岐するのでalpha枝に加えられた変更を引っ張るとalpha-issue1でそれをマージします、あなたがalpha-issue1上にあると仮定。ご覧のとおり、本質的に同じです。実際に


、より良い質問は直接あなたの質問に答えるためにgit-merge vs git-rebase

関連する問題