2016-11-01 12 views
1

私は2つのブランチマスターとブランチを開発しています。現在のサイトは開発ブランチにあります。しかし、今ではこれらすべての変更をmasterブランチに追加しました。今ライブサイトのマスターブランチには変更がないので、masterの変更をgitから取り出す必要があります。しかし、私はサイトが生きているので、マスターにチェックアウトしたくありません。 別のブランチからサーバー上のマスターからマスターへの変更をプルする方法はありますか? 私は、このコマンドに別のブランチからブランチを引き出す

git fetch origin master 

を実行するには、それは正しいですか?

+0

[git:現在のものではないブランチに 'git pull'する方法](http://stackoverflow.com/questions/18994609/git-how-to-git-pull-into-現在のものではない) –

+1

'git pull' =' git fetch' + 'git merge'です(もしそうなら' git fetch' + 'git rebase') 。後半のmerge-or-rebaseは現在のブランチを使用しているので、一般的に行うことは不可能です。しかし、マージまたはリベースのステップが単に「早送り」を行うだけの場合は、*動作するトリックがあります。リンクされたQ&Aを参照してください。 – torek

答えて

1

マスターブランチの所望の更新は(私はあなたがライブサイトにコードの更新をしないと思いますので、おそらく、ケースでなければなりません)早送りであれば、あなたはrefspecを指定することができます。

git fetch origin master:master 

これは、更新が早送りであると仮定して、ローカルマスタをリモートマスタの状態に更新します。 git fetch documentationでrefspecの説明を探します。ローカルとリモートのマスタが分岐している場合、このようなrefの更新方法は使用できません。

1

git pull origin master:masterを使用できます。現在のサイトは開発ブランチにあるので、ブランチを開発するためにいくつかのマージ競合が発生する可能性があります。ローカルの最新マスターブランチを確認する場合は、git checkout -f masterを使用して切り替えます。

関連する問題