2011-07-11 16 views
1

1つのブランチ 'feature_1'を別の 'release_1'にマージしようとしたときに、「マージの間にfeature_1に変更がコミットされた」ときに、「既に最新の」メッセージが表示されます。私は、これはfeature_1がrelease_1の祖先であることを示していることを理解し、関連する質問(Git merge reports "Already up-to-date" though there is a differenceGit 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にバグがあります)か、間違ったアプローチを全く使用していますか?

ありがとうございました。

答えて

2

またはfetchfeature_1にする必要があります。リポジトリに関する限り、feature_1は最後にマージされて以来変更されていません。

+0

git pullがトリックをしました。私は、元の/ feature_1への参照が起点リポジトリ上の最新のコミットを「見る」と思って、間違ってそのステップをスキップしていたと思います。ありがとう! – jlpp

関連する問題