Git Stash Pop 폐기 최근 코드를 커밋 git stash

나는 git stash pop을했고 지금은 많은 갈등이있다. 전에 모든 최근 코드를 커밋 git stash pop했으므로 마지막 커밋으로 돌아가서 모든 충돌을 제거하고 git stash pop삽입 된 코드가 있습니까?



답변

이것은 이미 stackoverflow에서 요청 및 답변되었지만 ( Git 리포지토리를 이전 커밋으로 되 돌리는 방법? 참조 ) 간단한 대답은 다음과 같습니다.

git reset --hard HEAD

문제를 해결해야합니다. 이렇게하면 커밋되지 않은 모든 변경 사항이 리포지토리에서 제거됩니다.

충돌이있는 경우 숨김이 유지됩니다. 로부터 숨김 문서 :

상태를 적용하면 충돌로 실패 할 수 있습니다. 이 경우 숨김 목록에서 제거되지 않습니다. git stash drop수동으로 충돌을 해결하고 나중에 수동으로 호출 해야합니다.


답변

특정 파일에서 재설정을 호출 할 수도 있습니다.

git reset HEAD <filename>...

그래도 파일을 하드 리셋 할 수는 없습니다. 그러나 나중에 결제로 변경 사항을 되돌릴 수 있습니다.

git checkout -- <filename>...

MichaelMilom의 답변에서 Luke가 지적한 것처럼 당신은 숨겨 질 것입니다.

커밋되지 않은 로컬 변경 내용을 잃고 싶지 않을 때 유용합니다.


답변

팝된 숨김 상태에서 작업을 다시보고 싶지 않은 경우 하드 리셋만큼 간단합니다.

git reset --hard HEAD

이것은 git에게 작업 디렉토리에 커밋되지 않은 변경 사항이 있다는 사실을 무시하고 작업 디렉토리, 준비 영역 및 지정한 커밋으로 설정합니다 (이 경우 기존 HEAD는 모든 작업을 포함합니다) 방금 커밋했습니다.


답변