Git 병합 오류
저는 '라고 불리는 깃브랜치'를 가지고 있습니다.9-sign-in-out
완벽하게 작동하는 코드로, 그리고 나는 그것을 마스터로 바꾸고 싶습니다.저는 현재 마스터 지점에 있습니다.
$ 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
마스터로 분기하시겠습니까?기트베이스로 할까요?하지만 나는 코드를 잃고 싶지 않습니다.9-sign-in-out
분점.
그 오류 메시지들이 무엇을 의미하는지 이해할 가치가 있습니다.needs merge
그리고.error: you need to resolve your current index first
병합에 실패했으며 해당 파일에 충돌이 있음을 나타냅니다.어떤 병합을 시도하던 것이 결국 좋지 않다고 판단한 경우 다음을 사용하여 정상 상태로 되돌릴 수 있습니다.
git reset --merge
그러나 그렇지 않으면 Git 매뉴얼에 설명된 대로 이러한 병합 충돌을 해결해야 합니다.
두 가지 방법 중 하나를 사용하여 이 문제를 해결한 후에는 다음을 확인할 수 있습니다.9-sign-in-out
분점.이름을 변경하는 것과 관련된 문제9-sign-in-out
로.master
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
현재 분기 이름을 마스터로 변경하고 현재 마스터를 삭제
git branch -M master
에 제시된 바와 같이git status
,
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: a.jl
both modified: b.jl
사용한git add
병합을 완료하려면 다음과 같이 하십시오.git checkout
잘 작동합니다.
dev 브랜치에서 master 브랜치로 전환할 때도 같은 문제가 있었습니다.변경 사항을 커밋하고 마스터 브랜치로 전환했습니다.커밋되지 않은 변경사항이 있을 수 있습니다.
그리고 당신은 이것을 시도할 수 있습니다.git reset --merge
뿐만 아니라.충돌을 해결하고 되돌리는 데 사용할 수 있습니다.
모든 병합 충돌을 해결한 후에도 개발 지점에서 마스터로 전환하려고 할 때 GitHub Desktop을 사용할 때 이 메시지가 표시되었습니다.
입력 후git add *
명령 줄에서 분기를 다시 전환할 수 있었습니다.
내 문제는 (마스터|REBASE 1/1)
이 명령은 나에게 효과가 있었습니다.
git rebase --skip
이것은 질문에 설명된 정확한 시나리오에 대한 답변이 아닙니다.동일한 오류 메시지가 표시되는 다음 시나리오에 응답합니다.이 SO 링크는 이것을 검색할 때 가장 먼저 뜨기 때문에 여기에 게시합니다.
이 문제는 일반적으로 GitHub Desktop 사용자에게 발생합니다.
원격에서 삭제된 분기에서 로컬로 변경한 후 마스터에서 병합하여 충돌이 이미 해결된 경우, 이제는 때문에 변경 내용을 다른 분기로 이동할 수 없습니다.
you need to resolve your current index first
,그리고.needs merge
오류, 오류,
아래에서 간단히 수행합니다.
# unset the upstream which is deleted
- git branch --unset-upstream
# rename the branch
- git branch -m <newname>
여기서부터 당신은 일반적인 것을 할 수 있습니다.
git commit -m "Merged master fixed conflict."
언급URL : https://stackoverflow.com/questions/6006737/git-merge-errors
'source' 카테고리의 다른 글
파이썬에서 "."와 "+=[]"의 차이점은 무엇입니까? (0) | 2023.05.25 |
---|---|
스크립트에서 stderr과 stdout을 동일한 줄에 있는 다른 파일로 리디렉션하는 방법은 무엇입니까? (0) | 2023.05.25 |
log4net을 어떻게 구성하면 로그가 생성됩니다.DebugEnabled가 참입니까? (0) | 2023.05.25 |
Java 드라이버를 사용하여 MongoDB에 대한 $or 쿼리를 작성하려면 어떻게 해야 합니까? (0) | 2023.05.25 |
커밋되지 않은 변경사항이 있는지 프로그래밍 방식으로 확인하려면 어떻게 합니까? (0) | 2023.05.25 |