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
'program tip' 카테고리의 다른 글
CSS를 사용하여 텍스트 상자 비활성화 (0) | 2021.01.05 |
---|---|
Windows에서 파일 이름 유효성 검사 (0) | 2021.01.05 |
WCF, Rest 및 SOAP의 관계는 무엇입니까? (0) | 2021.01.05 |
파일 크기에 대한 하드 링크 계산? (0) | 2021.01.05 |
RecyclerView가 onCreateViewHolder 또는 onBindView를 호출하지 않습니다. (0) | 2021.01.05 |