Git - 로컬 변경사항을 무시하는 준비되지 않은 파일의 체크아웃을 취소하는 방법
실수로 git checkout을 통해 로컬 작업 트리에 있는 파일의 변경 내용을 삭제합니다.지금은 파일이 준비되지 않았습니다.이 체크아웃을 "취소"할 수 있습니까?
"전문가" IDE를 사용하는 경우 로컬 기록에서 파일을 복원할 수 있습니다.예를 들어 Rubymin에서는 파일을 마우스 오른쪽 버튼으로 클릭하고 Git 변경과 독립적으로 변경 내역을 볼 수 있습니다. 이제 몇 번 저장했습니다. ^^
파일이 수정되었지만 아직 추가되지 않은(스테이지된) 경우에는 순전히 "개인적인" 파일이라고 생각합니다.
즉, 인덱스 또는 HEAD 버전으로 덮어쓰면 GIT에서 복원할 수 없습니다(현재 작업의 복사본이 어딘가에 있지 않은 경우).
"개인" 콘텐츠는 현재 디렉토리에서만 볼 수 있지만 Git에는 어떤 방식으로도 등록되지 않습니다.
참고: 다른 답변에서 설명한 것처럼 IDE(로컬 히스토리 포함)를 사용하거나 열려 있는 편집기(ctrl+Z)를 사용하면 변경 내용을 복구할 수 있습니다.
Sublime Text와 같은 편집기에서 작업 중이고 문제의 파일이 아직 열려 있는 경우 ctrl+z를 누르면 체크아웃 전 상태로 돌아갑니다.
유감스럽게도 변경사항이 손실되었습니다.개인 수정사항은 덮어씁니다.만약 당신이 하지 않았다면git stash
체크아웃하기 전에...
긍정적인 측면에서 생각해 보십시오. 이제는 훨씬 더 잘 구현할 수 있습니다. ;)
OS X에서 개발 중?Xcode 사용?당신은 운이 좋을 것 같습니다!
Qungu의 코멘트에서 설명한 바와 같이, OS X는 타임머신을 사용하지 않더라도 파일의 버전 기록을 자동으로 저장합니다.
그래서, 만약 당신이 부주의로 당신의 단계적인 지역 변화를 날려버렸다면,git checkout .
모든 작업을 복구할 수 있는 방법은 다음과 같습니다.
누군가가 XCode에서 일부 작업을 파괴한 스레드를 발견하면 AutoSave 기록을 가져올 수 있습니다.XCode 자체에는 AutoSave 기록을 볼 수 있는 메뉴 항목이 없지만 AutoSave 기록을 저장합니다.TextEdit에서 해당 파일을 열면 File > Revert에서 AutoSave 내역을 확인할 수 있습니다.
정말 멋지네요, 어제 하루 정도 일을 회복했어요.
"2016년 2017년 2018년 2019년 소프트웨어 엔지니어링에 사용된 최고의 VCS인 git 명령줄 UI가 파일을 날려버리기 전에 백업하지 않는 이유는 무엇입니까? 지난 30년 동안 잘 작성된 소프트웨어 도구와 같은 것입니다."
또는 "TextEdit에서는 이 엄청나게 멋진 파일 히스토리 기능에 액세스할 수 있지만 실제로 필요한 Xcode에서는 액세스할 수 없는 이유는 무엇입니까?"라고 묻습니다.
이 두 가지 모두 우리 산업에 대해 많은 것을 알려줄 것입니다.아니면 당신이 가서 그 도구들을 고칠지도 모릅니다.정말 멋질 것 같아요.
IDE에서 로컬 기록을 확인합니다.
VSCODE에서는 Ctrl+z(실행 취소)가 저를 위해 작동했습니다.
가 ㅠㅠgit checkout .
에 git add .
파일 변경 사항이 모두 사라졌습니다.
하지만 지금은 사용 중command + z
내 맥에서, 변화를 복구하고 나를 위해 작업 톤을 저장했습니다.
이러한 상황에 효과적인 구세주는 Time Machine(OS X) 또는 유사한 시간 기반 백업 시스템입니다.이를 통해 몇 번이나 절약할 수 있었습니다. 파일 하나만 다시 복원할 수 있기 때문입니다.
변경사항을 이전에 저장한 적이 있는 경우(예: 재배치 전), 이는 도움이 될 수 있습니다.
Git에서 떨어진 저장소를 복구하는 방법은 무엇입니까?
이미 변경 내용을 '재고 팝업'한 경우에도 마찬가지입니다.
엄밀히 말하면 그렇습니다.하지만 특정한 경우에만.예를 들어, 코드 페이지가 뜨면 git checkout을 선택하고 실수로 잘못된 페이지나 다른 것을 체크아웃했다는 것을 알게 됩니다.페이지로 이동하여 실행 취소를 클릭합니다. (나의 경우 명령 + z). 그러면 이전의 git checkout을 치기 전의 위치로 정확히 돌아갑니다.
페이지를 닫은 후 git checkout을 누르면 이 기능이 작동하지 않습니다.실제 코드 페이지가 열려 있는 경우에만 작동합니다.
저는 방금 그런 일을 당했어요. 저는 근무 시간이 포함된 전체 폴더를 확인했어요!다행히도 IDE Netbeans에는 각 파일의 기록이 보관되어 있으므로 몇 가지 사항을 수동으로 수정해야 함에도 불구하고 99%의 데이터를 복구할 수 있었습니다.
야.
저와 마찬가지로 당신이 매우 운이 좋은 사람이라고 가정해 보겠습니다. 편집기로 돌아가서 실행 취소(Mac용 명령 + Z)를 수행하면 파일에서 잃어버린 콘텐츠를 볼 수 있습니다.도움이 되셨길 바랍니다.물론 기존 파일에만 사용할 수 있습니다.
terminal/cmd 프롬프트를 열고 준비되지 않은 변경 사항을 표시하는 git 명령을 사용한 경우:diff
,add -p
,checkout -p
등), 그리고 그 이후로 터미널/게이트웨이 프롬프트를 닫지 않았습니다. 위에서 언급한 git 명령을 실행한 위치까지 스크롤하면 단계별 변경사항을 계속 사용할 수 있습니다.
PphpStorm, WebStorm 및 Pycharm과 같은 JetBrain IDE에서는 각 파일 또는 폴더를 마우스 오른쪽 버튼으로 클릭하고 Local History > Show History를 선택할 수 있습니다.
이렇게 하면 파일의 로컬 기록 보기가 열리고 모든 최근 변경 사항이 왼쪽 창에 나열됩니다.
마지막 변경사항을 마우스 오른쪽 버튼으로 클릭한 후 되돌릴 수 있습니다.
Intellij IDE를 사용하는 경우 이 작업을 취소할 수 있습니다.
- 프로젝트 탐색기에서 손실된 변경사항을 가져올 파일을 마우스 오른쪽 단추로 클릭합니다.
- 로컬 기록 -> 기록 표시
- 왼쪽 창에서 다른-2 타임스탬프를 볼 수 있습니다.
- 오른쪽에 변경사항이 표시됩니다.
저는 보통 모든 작업을 드롭박스 폴더에 저장합니다.이렇게 하면 로컬 컴퓨터와 Github 외부에서 현재 폴더를 사용할 수 있습니다.git 이외의 "버전 제어"를 보장하는 것이 저의 또 다른 단계라고 생각합니다.파일을 이전 버전의 드롭박스 파일로 되돌리려면 다음과 같이 하십시오.
이게 도움이 되길 바랍니다.
변경 내용이 손실되지 않았을 수 있습니다."git reflog" 확인
아래 기사를 인용합니다.
"기본적으로 데이터가 저장된 Git 내부에서 수행하는 모든 작업은 reflog 내부에서 찾을 수 있습니다.Git는 데이터가 손실되지 않도록 정말 열심히 노력하기 때문에 어떤 이유로든 Git reflog를 사용하여 데이터를 찾을 수 있습니다."
세부 정보 보기:
http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
언급URL : https://stackoverflow.com/questions/2689265/git-how-to-undo-a-checkout-of-unstaged-files-which-discards-local-changes
'programing' 카테고리의 다른 글
장고 동적 모델 필드 (0) | 2023.06.20 |
---|---|
sql COUNT를 사용하여 변수 설정 (0) | 2023.06.20 |
UICollectionView, 전체 너비 셀, 동적 높이 자동 레이아웃 허용? (0) | 2023.06.20 |
프로세스 닷넷을 시작할 수 없습니다.exe (0) | 2023.06.20 |
Firebase 데이터베이스에서 문자열로 간단한 검색을 수행하는 방법은 무엇입니까? (0) | 2023.06.20 |