오류: 다음 파일에 대한 로컬 변경 내용은 체크아웃 시 덮어씁니다.
이 질문은 이 질문과 비슷하지만 더 구체적입니다.
는 두의 분과가 .staging
그리고.beta
는 가내개로 합니다.staging
다음을 사용합니다.master
벌레를 고치기 위한 가지그래서 스테이징 작업 중에 오류가 나타나면 다음으로 변경합니다.master
분기:
git checkout master
그리고 그 일들을 하라.
git add fileToAdd
git commit -m "bug fixed"
그리고 두 지점과 병합합니다.
git checkout staging
git merge master
git checkout beta
git merge beta
그리고 작업 트리에 다른 파일이 있더라도 상관없습니다.
그러나 이제 지점으로 변경하려고 하면 다음과 같은 오류가 발생합니다.
error: Your local changes to the following files would be overwritten by checkout:
src/Pro/ConvocationBundle/Controller/DefaultController.php
Please, commit your changes or stash them before you can switch branches.
Aborting
준비 영역에서 파일을 제거해야 한다고 생각했습니다.
git reset HEAD src/Pro/ConvocationBundle/Controller/DefaultController.php
하지만 저도 같은 오류를 겪고 있습니다.내가 하면,git status
알겠습니다No changes to commit
경고: 이를 실행하면 로컬 변경 내용이 무시됩니다.로컬 변경사항을 취소하려는 경우에만 이 작업을 실행합니다.
저는 같은 문제에 부딪혔고 그것을 해결했습니다.
git checkout -f branch
그리고 그것의 사양은 꽤 명확합니다.
-f, --force
분기 전환 시 인덱스 또는 작업 트리가 HEAD와 다른 경우에도 계속 진행합니다.이것은 로컬 변경사항을 버리는 데 사용됩니다.
인덱스에서 경로를 체크아웃할 때 병합되지 않은 항목에 대해 실패하지 마십시오. 대신 병합되지 않은 항목은 무시됩니다.
파일을 수정한 후 전환하려는 분기에도 이 파일에 대한 변경 사항이 있을 때 오류가 나타납니다(최신 병합 지점에서).
내가 보기에 당신의 선택은
- 커밋한변경 할 수 . 커밋이 커수이다정니합커을밋로있수다사니습커항으수밋경할다정변커한을아밋밋한닌음이추가커▁commit▁commits(다▁in▁modify있다you정▁they▁and▁not,▁long▁commit▁can니습▁with▁(,▁then▁this▁amend수re')
push
); 는또 - 저장 사용:
git stash save your-file-name
git checkout master
# do whatever you had to do with master
git checkout staging
git stash pop
git stash save
변경 내용을 포함하는 스택을 생성하지만 커밋 또는 분기와 연결되지는 않습니다. git stash pop
저장된 변경 사항을 복원하고 저장된 변경 사항을 저장소에서 제거하는 최신 저장 항목을 현재 분기에 적용합니다.
로컬 변경사항을 커밋하지 않으려면 분기를 강제로 체크아웃할 수 있습니다.
git checkout -f branch_name
저는 같은 문제에 부딪혔고 그것을 해결했습니다.
git checkout -f 지점
음, 심요해를 하세요.-f
스위치를 켜다다음을 사용하면 커밋되지 않은 변경 사항이 손실됩니다.-f
스위치를 켜다사용하는 것이 도움이 되는 몇 가지 사용 사례가 있을 수 있습니다.-f
대부분의 경우, 당신은 원할 것입니다.stash
과 그 다음에 사및변경사항항경변사▁your항변경.switch
나뭇가지.그stashing
절차는 위에 설명되어 있습니다.
이 오류는 전환 중인 분기에 현재 분기에 없는 변경 사항이 있을 때 발생합니다.
새 분기로 전환하려고 할 때 이 오류가 표시되면 현재 분기가 하나 이상의 커밋 뒤에 있을 수 있습니다.그렇다면 다음을 실행:
git fetch
대상 분기와 충돌할 수 있는 종속성도 제거해야 합니다.
예를 들어 iOS 개발자의 경우:
pod deintegrate
그런 다음 지점을 다시 확인해 보십시오.
원하는 분기가 새로 생성되지 않은 경우 커밋을 선택하여 충돌을 수정하거나 변경 사항을 저장한 다음 충돌을 수정할 수 있습니다.
Git Stash(권장)
git stash
git checkout <desiredBranch>
git stash apply
체리픽(더 많은 작업)
git add <your file>
git commit -m "Your message"
git log
커밋의 샤를 복사합니다.그런 다음 원하지 않는 변경 내용을 삭제합니다.
git checkout .
git checkout -- .
git clean -f -fd -fx
지점이 최신 상태인지 확인합니다.
git fetch
그런 다음 원하는 지점으로 체크아웃합니다.
git checkout <desiredBranch>
그런 다음 체리가 다른 커밋을 선택합니다.
git cherry-pick <theSha>
이제 갈등을 해결합니다.
- 그렇지 않으면 다음을 사용하여 현재 지점 변경을 취소할 수 있습니다.
git checkout -f branch
저도 같은 오류를 겪었습니다.사실 저는 펄럭이는 오래된 SDK 패키지를 새로운 업데이트된 패키지로 재정의하려고 했습니다.그래서 그 오류가 발생했습니다.
VS Code로 flooter sdk 디렉토리를 열고 프로젝트를 정리했습니다.
VSCode cmd에서 이 코드 사용
git clean -dxf
그 다음에 사용git pull
Keltar의 수락된 답변에 대한 설명은 매우 좋지만(그리고 저는 그것을 지지했습니다), 정확하지 않다고 생각하기 때문에 다른 답변을 드리고 싶습니다.Git가 고려하는 것은 마지막 병합 지점 이후 대상 분기/커밋의 수정된 파일에 변경이 있는 경우가 아닙니다.이 모든 것은 수정된 파일이 같은지 여부에 따라 달라집니다.HEAD
그리고 목표 커밋.파일이 동일한 경우 Git는 작업 트리에 있는 것처럼 파일을 체크아웃하고 보관하는 데 문제가 없습니다.그러나 적어도 수정된 파일이 동일하지 않은 경우HEAD
대상 커밋/브런치는 해당 위치로 이동하려면 병합이 필요하므로 체크아웃을 거부합니다.누군가는 이것이 받아들여진 대답과 똑같다고 말할 수도 있습니다. 그렇죠?글쎄, 그렇지는 않아요.파일은 동일한(콘텐츠)일 수 있으며 여러 가지 상황에서 대상 분기 기록에 커밋이 남아 있을 수 있습니다.예:
- 대상 분기 기록의 파일에 커밋한 다음 되돌리기가 있었습니다.
- 두 기록에 동일한 변경 사항이 적용됩니다.
그리고 그것은 역사에서 뒤로/앞으로 나아가는 것과 같은 경우를 고려하지 않은 것입니다. 기하세요억.HEAD
대 목표 커밋.
현재 분기에서 커밋하고 다른 분기로 체크아웃한 후 마지막으로 병합 대신 해당 커밋을 선택할 수 있습니다.
만약 당신들이 taskrunner를 사용하고 있다면, 당신들은 그것을 멈추고 git을 변경한 다음 tasrunner를 다시 실행해야 합니다.그렇지 않으면 작업 실행기가 git 주석을 사용하여 변경하는 추적 파일을 보고 변경합니다.
저 같은 경우는 좀 달랐어요.
커밋을 에 을생고푸만나지실다니습행했중에커시밋했성하▁i다니▁i▁did▁it습실▁and▁a▁commit행했▁later▁push',ve▁created커나.git update-index --assume-unchanged <file>
로컬에서 사용할 콘텐츠를 편집했지만 다른 지점으로 체크아웃할 때 이 오류가 표시됩니다.
제 해결책은 필요한 지점에 대한 로컬 변경 및 체크아웃을 취소하고 해당 지점에서 로컬 변경을 수행하는 것이었습니다.
언급URL : https://stackoverflow.com/questions/22424142/error-your-local-changes-to-the-following-files-would-be-overwritten-by-checkou
'programing' 카테고리의 다른 글
그룹화된 데이터에서 첫 번째 행과 마지막 행 선택 (0) | 2023.06.26 |
---|---|
Mongoose.js: 항상 채우기 강제 (0) | 2023.06.26 |
Oracle 시퀀스 트랜잭션 기능 (0) | 2023.06.26 |
개체의 메모리 사용량을 확인하시겠습니까? (0) | 2023.06.26 |
git 상태는 수정 사항을 표시하고 git 체크아웃 - 제거하지 않습니다. (0) | 2023.06.26 |