Programing

준비되지 않은 파일의 체크 아웃을 취소 할 수 있습니다.

lottogame 2020. 6. 9. 07:39
반응형

준비되지 않은 파일의 체크 아웃을 취소 할 수 있습니다.


실수로 git checkout을 통해 로컬 작업 트리의 파일에 대한 변경 사항을 버립니다. 현재 파일이 준비되지 않았습니다. 이 체크 아웃을 "실행 취소"할 수 있습니까?


파일이 수정되었지만 아직 추가 (스테이지)되지 않은 경우 순전히 "개인"파일이라고 생각합니다.
색인이나 HEAD 버전으로 덮어 쓰면 GIT에서 복원 할 수 없습니다 (현재 작업의 사본이없는 경우). "

"비공개"컨텐츠는 현재 디렉토리에서만 볼 수 있지만 Git에는 등록되지 않습니다.


"전문적인"IDE를 사용하는 경우 로컬 히스토리에서 파일을 복원 할 수 있습니다. 예를 들어 Rubymine에서 파일을 마우스 오른쪽 버튼으로 클릭하고 git 변경과 독립적으로 변경 기록을 볼 수 있습니다.


Sublime Text와 같은 편집기에서 작업 중이고 문제의 파일이 여전히 열려있는 경우 ctrl + z를 누르면 git checkout 이전 상태로 돌아갑니다.


불행히도 변경 사항이 손실됩니다. 개인 수정 사항은 단순히 덮어 씁니다. git stash체크 아웃 을하지 않으면 ...

더 밝은면에서 가져 가십시오 : 이제 더 나은 것을 구현할 수 있습니다.)


IDE에서 로컬 히스토리를 확인하십시오.


OS X 에서 개발하고 있습니까? Xcode를 사용 하십니까? 당신은 운이 좋을 것입니다!

qungu의견 에서 설명한 것처럼 OS X는 time machine을 사용하지 않더라도 파일의 자동 저장된 버전 기록을 유지합니다 .

따라서 부주의 한 로컬 변경 사항을 부주의하게 날려 버린 경우 모든 작업을 복구 git checkout .하는 방법은 다음과 같습니다 .

누군가이 스레드가 XCode에서 일부 작업을 파괴 한 것을 발견하면 자동 저장 기록을 얻는 방법이 있습니다. XCode 자체에는 자동 저장 기록을 볼 수있는 메뉴 항목이 없지만 저장합니다. TextEdit에서 문제의 파일을 열면 파일> 되돌리기에서 자동 저장 내역을 되돌릴 수 있습니다.

어제 나를 위해 일한 날에 대해 굉장하고 회복되었습니다.


"왜 소프트웨어 엔지니어링에 사용되는 최고의 VCS 인 git 명령 줄 UI가 아닌가 ?2016 년 2017 년 2018 년2019 년, 파일을 날려 버리기 전에 최소한 파일을 백업 하시겠습니까? "지난 30 년 동안 잘 작성된 소프트웨어 도구입니다."

또는 " 당신 은 왜이 멋진 파일 히스토리 기능이 TextEdit에서 액세스 가능하지만 실제로 필요한 곳에 Xcode가 아닌가?"

… 그리고 둘 다 우리 산업에 대해 많은 것을 말해 줄 것입니다. 아니면 당신은 가서 도구를 고칠 것입니다. 어느 것이 슈퍼일까요.


변경 사항을 조기에 저장 한 경우 (예 : 리베이스하기 전에), 이것이 도움이 될 것입니다

Git에서 떨어진 스테이크를 복구하는 방법?

이미 변경 사항을 '스 태쉬 팝'한 경우에도 마찬가지입니다.


VSCODE에서 ctrl + z (실행 취소)가 나를 위해 일했습니다.

내가 그랬어 git checkout .대신 git add .내 모든 파일 변경 내용이 손실되었다.

그러나 이제 command + z내 Mac에서 사용 하여 변경 사항을 복구하고 작업 톤을 저장했습니다.


이러한 상황에 효과적인 구세주는 Time Machine (OS X) 또는 유사한 시간 기반 백업 시스템입니다. 다시 돌아가서 하나의 파일 만 복원 할 수 있기 때문에 몇 번 저장되었습니다.


방금 나에게 그런 일이 있었으며 몇 시간의 작업이 포함 된 전체 폴더를 체크 아웃했습니다! 다행히도 IDE Netbeans가 각 파일의 기록을 유지하므로 몇 가지 사항을 수동으로 수정해야하더라도 99 %의 파일을 복구 할 수 있습니다.


나는 보통 모든 작업을 dropbox 폴더에 있습니다. 이렇게하면 로컬 컴퓨터와 Github 외부에서 현재 폴더를 사용할 수 있습니다. git 이외의 "버전 제어"를 보장하는 것이 나의 다른 단계라고 생각합니다. 파일을 이전 버전의 보관 용 파일로 되돌리려면 다음과 같이하십시오.

도움이 되었기를 바랍니다.


터미널 / 함께 작업하는 경우 열려있는 프롬프트 cmd를하고 unstaged 변경 (보여주는 것 같은 자식 명령을 사용 diff, add -p, checkout -p당신은 unstaged 변경을 찾을 수 있습니다, 등), 및 터미널 /이 이후 프롬프트 cmd를 폐쇄하지 않은를 위에서 언급 한 git 명령을 실행 한 곳으로 스크롤하면 여전히 사용할 수 있습니다.


변경 사항이 손실되지 않을 수 있습니다. "git reflog"확인

아래 기사를 인용하십시오.

"기본적으로 데이터가 저장되어있는 Git 내부에서 수행하는 모든 작업은 reflog 내부에서 찾을 수 있습니다. Git은 데이터를 잃지 않기 위해 정말 열심히 노력합니다 . 따라서 어떤 이유로 든 생각한다면 데이터 를 파헤칠 수 있습니다. git reflog 사용 "

자세히보다:

http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html


기술적으로 그렇습니다. 그러나 특정 경우에만. 예를 들어 코드 페이지가 있고 git checkout을 누르면 실수로 잘못된 페이지 또는 무언가를 체크 아웃했음을 알 수 있습니다. 페이지로 이동하여 실행 취소를 클릭하십시오. (나를 위해, command + z), 그것은 당신이 좋은 오래된 git checkout을 누르기 전에 당신이 있었던 곳으로 정확하게 돌아갈 것입니다.

페이지가 닫히면 작동하지 않으며 git checkout을 누르십시오. 실제 코드 페이지가 열려있는 경우에만 작동합니다

참고 URL : https://stackoverflow.com/questions/2689265/can-git-undo-a-checkout-of-unstaged-files

반응형