2016-10-18 3 views
0

브랜치가 로컬 브랜치 B1 (이전 릴리스의 이전 마스터에서 생성 된 브랜치)보다 먼저 변경된 경우 마스터 (최신 마스터)의 변경 사항을 로컬 브랜치 B1에 병합하려면 어떻게해야합니까? off)를 사용하여), 동일한 또는 다른 파일들에 대한 최신 마스터와 다른 로컬 변경들을 갖는다.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. 

? 내가 파일의 병합 변경을 되돌릴 수있는 방법 (>>>>>>> master을 실행 취소 및/또는 파일 git revert HEAD{X}에서 <<<<<<< 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 

이 갈.

편집

당신은 현재 브랜치의 변경 사항을 유지하고 다른 사람을 제거하는

git checkout --ours file 

를 사용할 수 있습니다. - 그 반대로는을 사용하십시오. 당신이 할 수있는

+0

감사합니다. 이것은 초기 로컬 분기 상태로 돌아가는 데 도움이되지만 병합 충돌을 해결하는 방법을 다루지는 않습니다. –

+1

이것이 귀하의 질문이었습니다. '어떻게 위의 명령으로 할 수있는 파일의 병합 변경 사항을 되돌릴 수 있습니까? ' 힘내는 파일에서 발생할 때 충돌을 해결하지 못합니다. 그것은 파일을 편집 할 수있는 자유로운 손을 제공하고,'git add'와'git commit'을합니다. –

1

당신은 다시 단계를 수행 할 수 있습니다 git merge --abort

을 아니면 충돌을 해결할 수 수동으로 : git mergetool

git rebase은 변경 사항을 없애고 업스트림 브랜치를 로컬 브랜치로 빨리 전달한 다음 변경 사항을 다시 적용합니다.

각 길은 다른 상황을위한 것이므로 달성하려는 것에 대해 조금 생각해보십시오.

+0

'빠른 브랜치를 로컬 브랜치에 업스트림 브랜치'- 업스트림 브랜치는'원격 브랜치'를 의미합니까? 만약 그렇다면 최신 마스터에서 업데이트를 어떻게 받습니까? –

+0

"업스트림 브랜치"는 기술적으로 모든 브랜치를 의미합니다. (원격 인 경우 가져옵니다.) –

0

(당신이 지점에) : 당신이 여기서 뭘 무엇을 의미하는지 분명하지 않다

git fetch 
git rebase origin/master 
관련 문제