0

これが既知の問題かどうかはわかりませんが、何が起こったのか見てみましょう。

  1. マスターから機能ブランチを作成し、機能の作業を開始します

  2. マスターは、自分の機能ブランチにまだない他の機能で更新されています。

  3. フィーチャー ブランチの処理が完了し、master をフィーチャー ブランチにマージして、master へのプル リクエストを作成する前に問題を解決します。また、マスターをチェックアウトし、オリジンから git pull してマスターの最新のコピーを取得します。

  4. git merge master機能ブランチで実行すると、マージの競合が発生します。
    これらの競合を解決し、すべて (競合ファイルと新しい/変更されたファイル) を追加してからコミットします。

  5. git merge master機能ブランチで再度実行すると、Already up-to-date.

今私の問題は、一部のファイルがマスターからマージされていないことです。マスターには明らかに変更されたファイルがありますが、マージで取得されませんでした。そのため、プルリクエストを行うと、触れたことのない特定のファイルを変更し、マスターの変更を元に戻そうとしています。

私が間違っていたことと、この問題を解決する方法を誰か教えてもらえますか?

4

1 に答える 1

1

あなたの問題はここにあります:

git merge master

何が問題で、どのように修正するのですか?

リモートと最新ではないローカルブランチをマージしています。


修正方法は?

git pull origin masterだけの代わりに使用git merge master


前のコマンドは何をしますか?

オリジン マスターからプルすると、ローカル マスター ブランチからではなく、リモート リポジトリからコードが「取得」されます。

別の解決策は次のようになります。

# Work on your current branch and commit

# Checkout master branch locally
git checkout master

# now update the local copy with the remote code
git pull origin master

# now switch back to your previous branch
git checkout <branch name>

# merge the updated master to your current branch
git merge master

ご覧のとおり、最初のソリューションははるかにシンプルで優れています。

于 2016-02-22T21:26:39.533 に答える