로컬 코드가 삭제되고 장면이 복원되며 git 명령이 코드를 검색합니다.

장면을 사용하십시오. 모두가 그런 실수를하지 않기를 바랍니다.

이런건 회사 발전에 있어서 컴퓨터가 너무 고장나서 회사에서 좀 더 좋은 구성의 컴퓨터로 바꿔줬는데 그 컴퓨터를 다른 사람이 사용하고 있어서 환경을 설치하고 나니 컴퓨터가 이미 has git, 내가 직접 코드 풀링을 시작한 다음 git 계정을 지우고 나서 문제가 발생했습니다. (확실히 기억하세요. 먼저 git 계정과 메일함을 지운 다음 개발을 위해 코드를 가져오세요)

어떤 상황에서 현지 코드가 실수로 삭제됩니까?

개발 후 코드를 제출하면 추가만 가능하고 커밋은 안되네요 제 브랜치가 깨끗하고 트래킹이 안된게 생각나네요 인터넷상에 나온 답변이 강제푸시라서 강제푸시를 했는데 코드가 바로 삭제되서 당황해서 무의식중에 git 창을 보다가 갑자기 발견...
여기에 이미지 설명 삽입
이 브랜치가 전혀 없고 이 상태는 여전히 남의 계정이어야 합니다. , 로컬 창고가 저장되지 않고 강제 푸시로 인해 코드가 손실되었습니다. 다시 작성 하시겠습니까? ? 다시 쓰기는 불가능하므로 어떻게 다시 얻었는지 공유하겠습니다.

git은 로컬 코드를 검색합니다.

이때 가장 먼저 생각한 것이 로그를 출력하는 것이었습니다.git log를 사용했을 때 제가 틀렸다는 것을 알았습니다.이 명령은 원격 창고의 모든 제출 기록만 출력할 수 있습니다.내 코드는 로컬에서 손실되므로 찾을 수 없습니다 기록 없음, 다음으로 다른 명령 git reflog를 실행했습니다.
여기에 이미지 설명 삽입
이 명령은 매번 로컬 제출 기록을 인쇄합니다.그래피티는 로컬 버전 ID입니다.돌아가려는 버전만 찾으면 됩니다.다음 명령을 실행합니다.
여기에 이미지 설명 삽입
git reset --hard '위에서 언급한 로컬 버전 id', 이 명령어를 실행하면 유실된 코드를 찾을 수 있는데 지금은 이 브랜치가 내 브랜치가 아닌데 이때 마스터 브랜치로 갈아타보니 그래도 방금 코드를 뽑았을 때의 상태는 매우 깔끔해서 이전 분기(다른 사람 계정의 상태)로 다시 전환하여 다음과 같은 명령을 실행했습니다.

// 就是把当前回退回来的版本的代码,复制一份并切换到我账号的dev分支上
git checkout -b dev
//因为别人账号上的代码我无法管理,无法合并,无法push

개발에 그렇게 많은 브랜치가 필요하지 않기 때문에 다시 마스터 브랜치로 전환하고 다음 명령을 실행했습니다.

// 就是把dev上的回退回来的的代码,合并到master分支上来
git merge origin/dev
//因为我是单人开发,只有一个分支对应了远程分支。

이제 코드가 정상으로 돌아왔으므로 다음 작업에 대해 이야기할 필요가 없습니다. 직접 일반 git 3 버스트가 가능합니다.

추천

출처blog.csdn.net/m0_52313178/article/details/119065815