IT story

힘내 병합 오류

hot-time 2020. 4. 8. 08:01
반응형

힘내 병합 오류


9-sign-in-out완벽하게 작동하는 코드로 불리는 git 브랜치를 가지고 있으며 마스터로 바꾸고 싶습니다. 현재 마스터 브랜치에 있습니다.

$ git branch
9-sign-in-out
* master

9-sign-in-out지점 으로 전환하려고하는데 다음을 허용하지 않습니다.

$ git checkout 9-sign-in-out
app/helpers/application_helper.rb: needs merge
config/routes.rb: needs merge
error: you need to resolve your current index first

모든 마스터 분기 오류를 어떻게 무시하고 9-sign-in-out분기를 마스터로 바꿀 수 있습니까? 어쩌면 git rebase ? 그러나 9-sign-in-out지점 에서 코드를 잃고 싶지 않습니다 .


- 그 오류 메시지의 의미를 이해하고 그것의 가치 needs mergeerror: you need to resolve your current index first병합가 해당 파일의 충돌이있다, 그 실패했음을 나타냅니다. 병합하려는 것이 무엇이든 결국 나쁜 생각이라고 결정한 경우 다음을 사용하여 일을 정상으로 되돌릴 수 있습니다.

git reset --merge

그러나 그렇지 않으면 git manual에 설명 된대로 이러한 병합 충돌을 해결해야합니다 .


두 가지 기술 중 하나를 사용하여 처리하면 9-sign-in-out지점 을 체크 아웃 할 수 있어야합니다 . 단지 이름 변경에 대한 문제 당신 9-sign-in-outmaster에 제안, wRAR의 대답은 당신이 누구와 이전 마스터 분기를 공유 한 경우,이 두 가지의 역사는 갈라 경우 때문에, 당신은 다시 게시됩니다, 그들을 위해 문제를 만드는 것입니다 역사.

기본적으로 원하는 것은 토픽 브랜치 9-sign-in-out토픽 브랜치를 병합 master하지만 토픽 브랜치 의 파일 버전을 정확하게 유지하는 것입니다. 다음 단계를 수행하면됩니다.

# Switch to the topic branch:
git checkout 9-sign-in-out

# Create a merge commit, which looks as if it's merging in from master, but is
# actually discarding everything from the master branch and keeping everything
# from 9-sign-in-out:
git merge -s ours master

# Switch back to the master branch:
git checkout master

# Merge the topic branch into master - this should now be a fast-forward
# that leaves you with master exactly as 9-sign-in-out was:
git merge 9-sign-in-out

git checkout -f 9-sign-in-out # change branch, discarding all local modifications
git branch -M master # rename the current branch to master, discarding current master

에서 제안 git status,

Unmerged paths:                                                                                                                                
(use "git add <file>..." to mark resolution)                                                                                                 

    both modified:   a.jl                                  
    both modified:   b.jl

나는 git add병합을 마치고 git checkout잘 작동했다.


git commit -m "병합 된 마스터 수정 충돌"

참고 URL : https://stackoverflow.com/questions/6006737/git-merge-errors

반응형