2016-10-18 27 views
0

マスターがローカルブランチB1(以前のリリースから古いマスターから作成されたブランチ)より先に変更されている場合、マスター(最新マスター)からローカルブランチB1への変更をどのようにマージできますか以前のマスターのオフ)に変更されます。これには、同じファイルおよび/または別のファイルの最新のマスターとは異なるローカル変更があります。gitがマスターからローカルブランチにマージする

>> git checkout B1 
>> git merge master 

エラー:

CONFLICT (content): Merge conflict in views/index.html 
Auto-merging scripts/services/eService.js 
CONFLICT (content): Merge conflict in scripts/services/eScreenService.js 
Auto-merging scripts/directives/confirmService.js 
Auto-merging scripts/controllers/submitFormController.js 
CONFLICT (content): Merge conflict in scripts/controllers/submitFormController.js 
Automatic merge failed; fix conflicts and then commit the result. 

私はこのような状況では、コードの競合を処理する方法を理解する必要がありますか? git merge --abort

それとも、競合を解決することができます:どのように私は、ファイル内のマージの変更を戻すことができます(ファイルgit revert HEAD{X}からのコメントは助けにはならなかった>>>>>>> masterおよび/または<<<<<<< HEADを元に戻す)

+2

それはあなたがここに行うために何を意味するのかは明らかではありません。マージコンフリクト(名詞)は、ベースバージョンとの変更(動詞)が変更されてからの変更の際に発生します。例えば、あなたは "この箱をペイントしてください"と言って、 "この箱を青く塗ってください"と言ったかもしれません。 Gitは、矛盾の領域をマークすることで互換性がないことを伝えます。赤色、青色、紫色、または緑色でなければならないかどうかを判断するのはあなた次第ですので、ファイルを編集し、目立った矛盾を見つけ、正しいものを見つけ出し、矛盾する部分を正しい結果で置き換える必要があります。 – torek

答えて

1

git-revert既存のコミットを元に戻します。HEADコミットからの変更はありません。 Git Revert

あなたは競合後にまだ何かをコミットしていません。

git statusはあなたの親友です。毎秒あなたを導くことができます。

git status 

You have unmerged paths. 
(fix conflicts and run "git commit") 
(use "git merge --abort" to abort the merge) 

が戻って変更を元に戻します

git merge --abort 

このために行きます。

EDIT

あなたの現在のブランチの変更を保持し、他の人を取り除くために

git checkout --ours file 

を使用することができます。 - それらのを使用してください。あなたが行うことができます

+0

これは、最初のローカルブランチ状態に戻すのに役立ちますが、マージの競合を解決する方法に対処しません。 –

+1

これはあなたの質問でした。 '上記のコマンドでできるファイルのマージ変更を元に戻すにはどうすればいいですか? ' Gitは、ファイル内で発生したときにあなたのための競合を解決しません。あなたのファイルを自由に編集し、 'git add'と' git commit'を行います。 –

1

あなたは戻って一歩を踏み出すことができます手動:git mergetool(その後、変更をコミット)

しかし、あなたは別のオプションを好むかもしれない:git rebaseは、お近くの支店、その後再申請して変更を上流分岐を早送り、離れて変更がかかります。

それぞれの方法は別の状況ですから、達成しようとしていることについて少し考えてください。

+0

'あなたのローカルブランチにアップストリームブランチを早送りします.' - アップストリームブランチは'リモートブランチ 'を意味しますか?それが最新のマスターからの更新をどのように受け取りますか? –

+0

"アップストリームブランチ"は、技術的に任意のブランチを意味します。 (リモートの場合はフェッチしてください) –

0

(あなたが支店にいるとき):

git fetch 
git rebase origin/master 
関連する問題