2017-03-20 18 views
0

私は3つの支店を持っています。マスターから別のブランチにgit変更を適用するにはどうすればよいですか? <li>test1の</li> <li>test2は</li> </ul> <p></li>は今、私はマスターにいくつかの変更を加えなかった</p> <ul> <li>マスター:

タスクは次のとおりです。これらの変更をtest1とtest2に適用しますが、masterから分離したこれらのブランチは保存します。

シンプルに見えますが、それでは管理できません。

git checkout test1 
git merge master # already up-to-date 
git pull origin master # up-to-date 
git push origin test1 # Everything up-to-date 

結果でマスターから何も変更:

今、私は主人とTEST1をマージしないしようとしています。

しようとリベース:「再帰の戦略によって作ら

git checkout test1 
git rebase master 
git status 

On branch test1 
Your branch and 'origin/test1' have diverged, 
and have 1 and 7 different commits each, respectively. 
(use "git pull" to merge the remote branch into yours) 

git pull 

マージ。 ブランチは2つのコミットで 'origin/test1'よりも先です。

これらの2つのコミットは何ですか。私はマスターで多くのコミットをしています。

また、現在のブランチにmasterからの変更はありません。

だから私はどのように私はきちんとマスターから最新のコミットを適用することができ、そう

でこれらを元に戻すことができますか?他のブランチからの変化をもたらすために

git reset --hard origin/test1 
+0

は一般的に、2つのオプションがあります。両方のオプションの結果がどういうものなのかを説明してください。常に 'git log --decorate --graph --online --all'を使ってログ/グラフを見てください。 –

+2

この動作を複製できませんでした。ステップ:マスターを作成し、コミットします。 test1を作成し、コミットします。チェックアウトマスター、発散コミット。チェックアウトtest1、マージ、競合の解決...問題はありませんか? –

答えて

0

「独立した」(彼らは別々の枝に独立して開発されたかのように)それらを保つ、私はあなたがをチェリーピックgitのを試してみるべきだと思います。どうやらあなたはすでにこれらの両方のを試してみました、それが動作しませんでした 1.マージマスターTEST1/TEST2 2.リベースにマスター へ:https://git-scm.com/docs/git-cherry-pick

関連する問題

 関連する問題