Programing

git stash가 추가 된 파일을 덮어 쓰도록 강제

lottogame 2020. 5. 18. 08:01
반응형

git stash가 추가 된 파일을 덮어 쓰도록 강제


git에서 추적되지 않은 파일이 있습니다. 몇 가지 사항을 변경하여 커밋하고 싶었지만 수정하지 않은 파일을 먼저 체크인하지 않았다는 것을 깨달았습니다. 그래서 파일을 숨기고 수정되지 않은 버전을 추가했습니다.

그런 다음 숨김을 저장소에 적용하면 파일이 이미 추가되어 충돌이 발생합니다.

숨김을 적용하고 숨김의 버전이 저장소의 원본보다 우선적으로 사용되도록하려면 어떻게해야합니까?

감사


git checkout대신에 사용하십시오 git stash apply:

$ git checkout stash -- .
$ git commit

현재 디렉토리의 모든 파일을 숨김 버전으로 복원합니다.


작업 디렉토리에 유지해야하는 다른 파일에 대한 변경 사항이있는 경우, 덜 손쉬운 대안이 있습니다.

$ git merge --squash --strategy-option=theirs stash

인덱스에 변경 사항이 있거나 병합이 로컬 변경 사항이있는 파일을 만지면 git은 병합을 거부합니다. 개별 파일을 사용하여 숨김에서 체크 아웃 할 수 있습니다

$ git checkout stash -- <paths...>

또는 대화식으로

$ git checkout -p stash

git stash show -p | git apply

그리고 git stash drop당신은 은닉 아이템을 드롭합니다.


git stash pop이 명령 을 강제로 실행 하려면

git stash show -p | git apply && git stash drop

이 문제를 해결하기 위해 작업 공간을 제거했다가 다시 복제했습니다.

참고 URL : https://stackoverflow.com/questions/16606203/force-git-stash-to-overwrite-added-files

반응형