1つのブランチ 'feature_1'を別の 'release_1'にマージしようとしたときに、「マージの間にfeature_1に変更がコミットされた」ときに、「既に最新の」メッセージが表示されます。私は、これはfeature_1がrelease_1の祖先であることを示していることを理解し、関連する質問(Git merge reports "Already up-to-date" though there is a differenceとGit merge confusion. Diff shows differences, and merge says there are none)を読むことからあるブランチを別のブランチに複数回マージするコマンド/手順はありますか?
# Developer 1: create feature_1 branch with initial commit
git checkout -b feature_1 origin/master
git commit -am "Initial commit."
git push origin feature_1
# Developer 2: create release_1 branch and merge feature_1 into it
git checkout -b release_1 origin/master
git merge origin/feature_1
# success
git push origin release_1
# Developer 1: make change to feature_1
git checkout feature_1
git commit -am "Fixed issue."
git push origin feature_1
# Developer 2: attempt to get latest state of feature_1 merged into release_1
git checkout release_1
git merge origin/feature_1
Already up-to-date
:それは私のようなものを持っている、です。私がまだ見つけていないのは、feature_1の最新のコミットをrelease_1に2回目にmerge/fast-forwardする方法です。
私はrelease_1で次しばらく試してみた上でリンクされ、最初の質問のコメントから:それはかなりの最新の状態をマージよりfeature_1の最新の状態と同じですように
git reset --hard origin/feature_1
これは本質的にrelease_1をリセット両方の枝が一緒になっているので、私が探しているものではありません。
feature_1がrelease_1の祖先である場合、どのようにfeature_1の最新のコミットをrelease_1にマージできますか?私は 'git merge'が早送りをすると思った。私は 'git pull'や何かが欠けているのだろうと思っています。早送りは、起源に関する最新のコミットを見ていません。他のコマンド/ステップがある場合は、まだ見つかりませんでした。基本的には、私は正しいアプローチを使用していますが、私はただ何かを逃している(またはおそらくmsysgitにバグがあります)か、間違ったアプローチを全く使用していますか?
ありがとうございました。
git pullがトリックをしました。私は、元の/ feature_1への参照が起点リポジトリ上の最新のコミットを「見る」と思って、間違ってそのステップをスキップしていたと思います。ありがとう! – jlpp