program tip

GIT에서 삭제 취소

radiobox 2021. 1. 5. 07:54
반응형

GIT에서 삭제 취소


나는 아주 멍청한 것을 만들었다. 나는 git commit (파일 편집 + 새 파일) (C)을 사용하여 커밋했습니다. 그런 다음 마지막 커밋을 수정했습니다. 그런 다음 모든 파일을 재귀 적으로 삭제 (!) 한 git rm -r다음 다른 git commit (C)을 만들었습니다.

알파벳
  석사

파일 삭제를 취소하고 첫 번째 커밋에서 변경 한 사항을 유지하는 방법이 있습니까? (C) 차라리 (B)로 돌아 가지 않겠습니다. git reset --soft head ^를 시도 했으므로 git 상태에 내가 삭제 한 파일이 나열되고 git checkout을 수행했지만 여전히 운이 없습니다. 나는 그것이 가능한지조차 모릅니다.


자신에게 호의를 베풀고 git checkout <hash>다른 답변이 제안하는 것을 좋아하지 말고 더 많은 문제로 들어가십시오.

작업 디렉토리에서 파일을 삭제하고 변경 사항을 아직 커밋하지 않은 경우 다음을 수행하십시오.

git checkout -f

주의 :이 명령을 실행하기 전에 커밋되지 않은 파일을 커밋하십시오. 그렇지 않으면 모든 파일을 잃게됩니다.

삭제 된 파일은 다시 돌아와야합니다.

그렇지 않고 원하는 커밋을 찾을 수 있다면 (C 등-질문이 명확하지 않음)에서 git reflog수행 git reset --hard <hash from reflog>하면 모든 설정이 완료됩니다.


내가 올바르게 이해했다면 커밋 C를 다시 작성했습니다. 따라서 원래 커밋은 커밋 그래프에서 액세스 할 수 없지만 여전히 거기에 있습니다 (git은 모든 커밋을 잠시 유지합니다). 사용 git reflog(가) 해시와 커밋 얻기 위해 git checkout <hash>이전 상태 C1에 도착 또는 다른 적절한 명령을.

참조 URL : https://stackoverflow.com/questions/9477702/undo-delete-in-git

반응형