수색…


잃어버린 커밋에서 복구하기

과거 커밋으로 돌아 왔고 더 새로운 커밋을 잃어버린 경우, 실행에 의해 손실 된 커밋을 복구 할 수 있습니다

git reflog

그런 다음 잃어버린 커밋을 찾아서 다시 커밋합니다.

git reset HEAD --hard <sha1-of-commit>

커밋 된 후 삭제 된 파일 복원

실수로 파일에 대한 삭제를 커밋 한 후 나중에 필요하다고 생각한 경우

먼저 파일을 삭제 한 커밋의 커밋 ID를 찾습니다.

git log --diff-filter=D --summary

파일을 지운 커밋의 정렬 된 요약을 제공합니다.

그런 다음 파일 복원을 계속합니다.

git checkout 81eeccf~1 <your-lost-file-name>

(자신의 커밋 ID로 81eeccf 바꾸기)

이전 버전으로 파일 복원

파일을 이전 버전으로 복원하려면 reset 을 사용할 수 있습니다.

git reset <sha1-of-commit> <file-name>

이미 로컬에서 파일을 변경 한 경우 (필요하지 않은 경우!) --hard 옵션을 사용할 --hard 있습니다

삭제 된 지점 복구

삭제 된 분기를 복구하려면 실행하여 삭제 된 분기의 헤드 인 커밋을 찾아야합니다.

git reflog

그런 다음 실행하여 분기를 다시 만들 수 있습니다.

git checkout -b <branch-name> <sha1-of-commit>

git의 가비지 수집기 가 참조가없는 커밋 된 커밋을 삭제하면 삭제 된 분기를 복구 할 수 없습니다. 특히 소규모 팀 / 독점 프로젝트에서 작업 할 때 항상 저장소의 백업을 보유하십시오

재설정에서 복구

힘내, (거의) 항상 시계를 되돌릴 수있다.

역사를 다시 쓰는 명령을 실험하는 것을 두려워하지 마십시오 *. 힘내 기는 기본적으로 커밋을 90 일 동안 삭제하지 않으며, 그 시간 동안 여러분은 reflog에서 쉽게 커밋을 복구 할 수 있습니다 :

$ git reset @~3   # go back 3 commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started

* 같은 옵션을 조심 --hard--force 하지만 - 그들은 데이터를 삭제할 수 있습니다.
* 또한 공동 작업중인 모든 지점에서 기록을 다시 작성하지 마십시오.

git stash에서 복구

git stash를 실행 한 후 가장 최근의 stash를 가져 오려면 다음을 사용하십시오.

git stash apply

은신처 목록을 보려면 다음을 사용하십시오.

git stash list

다음과 같은 목록을 얻을 것입니다.

stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login

원하는 stash에 표시된 번호로 복원하려면 다른 git 숨김을 선택하십시오.

git stash apply stash@{2}

'git stash pop'을 선택할 수도 있습니다. 'git stash apply'와 같이 작동합니다 ..

 git stash pop 

또는

 git stash pop stash@{2}

git stash와 git stash pop의 차이 ...

git stash pop : stash 목록의 스택에서 stash 데이터를 제거합니다.

전의:-

git stash list

다음과 같은 목록을 얻을 것입니다.

stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login

이제 명령을 사용하여 숨김 데이터를 나타냅니다.

git stash pop

다시 숨김 목록 확인

git stash list

다음과 같은 목록을 얻을 것입니다.

 stash@{0}: WIP on master: 70f0d95 Add user role to localStorage on user login

숨김 목록에서 하나의 숨김 데이터가 제거 (팝) 된 것을 볼 수 있으며 @ {1}은 숨겨진 @ {0}이 (가) 나타납니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow