2016-12-15 4 views
-1

私はgitに新しく、多くの概念を理解するのに本当に苦労しています。Git:他の変更を加えてブランチをアップグレードする必要があるときに、ブランチに変更をマージするには?

私は数日触れていなかったブランチで1ファイルを変更しなければならなかったので、そのブランチをチェックアウトして変更を加え、それを元に戻しました。しかし、私はfast-forwardにしようとしていて、私がマージする必要があるコンテンツを持っていたようなものを言ったというエラーが出ました。だから、私はgit checkout masterに私の枝をインラインでマスターに取得することにしました。

その後、私はgit statusを実行し、私が働いていただけでなく、何千もの新しく修正されたファイルをプッシュする準備ができていることを確認します。

これらのファイルをすべて私のブランチにプッシュしたくありません。この問題を回避する方法はありますか?

答えて

1

あなたはGitの仕組みや、その高速ではないフォワードエラーが実際に意味することについて、非常に混乱しているようです。すべてのエラーは、あなたが最後に引っ張ってから、他の開発者がリモコンの支店にコミットしたことを意味します。その結果、Gitは、一般的な競合が発生して解決するためにファイルを手動で編集する必要があるため、最後に引っ張ってからブランチにコミットを盲目的に適用することを拒否しています。あなたがする必要があるのは、そのブランチをローカルに引き出し、発生した場合には競合を解決し、ブランチを押し出すことだけです。このような何か作業をする必要があります:master支店に関しては

git pull origin yourBranch 
# resolve merge conflicts, shouls they occur 
git push origin yourBranch 

は、あなたが今、それを心配する必要はありません。おそらく後で、機能全体がmasterに入る準備ができたら、これが問題になるでしょう。

なぜmasterに切り替えると、何千もの変更されたファイルがありました。しかし、良いニュースは、これはあなたの直接の問題ではないということです。

+0

返信いただきありがとうございます。私の唯一の質問は、私の最初の 'git checkout'も、他の開発者が行った変更を取り上げることではないでしょうか? – MeltingDog

+1

'git checkout'はブランチを切り替えますが、ブランチを変更しません。マージまたはリベースする必要があります。 –

+0

ああありがとう!非常に役立ちます – MeltingDog

関連する問題