Git을 사용하여 커밋 ID를 기반으로 특정 커밋으로 되 돌리시겠습니까? [복제]
이 질문에는 이미 답변이 있습니다.
로 git log
, 지금까지 한 커밋 목록을 얻습니다.
commit f5c5cac0033439c17ebf905d4391dc0705dbd5f1
Author: prosseek
Date: Fri Sep 3 14:36:59 2010 -0500
Added and modified the files.
commit c14809fafb08b9e96ff2879999ba8c807d10fb07
Author: prosseek
Date: Tue Aug 31 08:59:32 2010 -0500
Just simple test for core.editor.
... etc ...
특정 커밋으로 되돌릴 수있는 방법은 무엇입니까? 예를 들어, 돌아가려면
commit c14809fafb08b9e96ff2879999ba8c807d10fb07
어떻게 해야 합니까?Git을 사용하여 특정 커밋으로 돌아갈 수있는 다른 방법이 있습니까? 예를 들어, 각 커밋의 레이블을 넣어 레이블로 다시 가져올 수 있습니까?
레포를 해당 상태로 롤백 하시겠습니까? 아니면 현지 레포가 그렇게 보이기를 원하십니까?
당신이 할 경우
git reset --hard c14809fa
지역 코드와 지역 기록을 커밋과 동일하게 만듭니다. 그러나 새로운 역사를 가진 다른 사람에게 이것을 적용하고 싶다면 실패 할 것입니다.
당신이 할 경우
git reset --soft c14809fa
HEAD를 원래 위치로 옮기지 만 로컬 파일 등은 그대로 둡니다.
이 재설정으로 정확히 무엇을 하시겠습니까?
편집하다 -
리포지토리에 "태그"를 추가 한 다음 다시 태그로 이동할 수 있습니다. 그러나 태그는 실제로 sha1에 대한 바로 가기입니다.
그런 다음 .. TAG1으로이 태그를 할 수있는 git reset --soft c14809fa
, git reset --soft TAG1
또는 git reset --soft c14809fafb08b9e96ff2879999ba8c807d10fb07
모두 같은 일을 할 것입니다.
bwawok의 대답은 어느 시점에서 틀렸다고 생각합니다.
당신이 할 경우
git reset --soft c14809fa
로컬 파일을 이전과 동일하게 변경하지만 기록 등은 그대로 두십시오.
매뉴얼 에 따르면 : git-reset , "git reset --soft"...
인덱스 파일이나 작업 트리를 전혀 건드리지 않습니다 (그러나 모든 모드와 마찬가지로 헤드를 <commit>으로 재설정합니다). 이것은 git status에 의해 변경된 모든 파일을 "Commit to commit"으로 남겨둔다.
따라서 지점에서 최신 커밋을 "제거"합니다. 즉, 이전 코드를 확인한 후에는이 분기의 최신 커밋을 쉽게 다시 시작할 수 없습니다. 따라서 bwawok에서 설명한대로 opposide를 수행합니다. 로컬 파일은 변경되지 않지만 ( "git reset --soft"와 동일하게 표시됨) 기록은 수정됩니다 (지정된 커밋 후에 분기가 잘립니다).
bwawok의 답변에 대한 명령은 다음과 같습니다.
git checkout <commit>
이것을 사용하여 이전 개정판을 엿볼 수 있습니다. 어제 코드가 어떻게 보입니까?
(나는이 답변에 의견을 달아야하지만 stackoverflow는 그렇게 할 수 없습니다! 내 명성이 너무 낮습니다.)
git reset c14809fafb08b9e96ff2879999ba8c807d10fb07
당신이 쫓아 온 것은 ...
문제를 강제하려면 다음을 수행하십시오.
git reset --hard c14809fafb08b9e96ff2879999ba8c807d10fb07
체크인 당시 git clone이 어떻게 보 였는지 다시 알려줍니다.
'IT' 카테고리의 다른 글
루비에 실제 멀티 스레딩이 있습니까? (0) | 2020.03.20 |
---|---|
Office VBA 편집기에서 코드 블록 주석 처리 및 주석 해제 방법 (0) | 2020.03.20 |
Windows 시스템에서 JDK가 설치된 위치를 어떻게 찾을 수 있습니까? (0) | 2020.03.20 |
main이 유효한 Java 식별자입니까? (0) | 2020.03.20 |
'ImportError : 가져올 수없는 이름 IncompleteRead'는 어떻게 수정합니까? (0) | 2020.03.20 |