Git에서 commit 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을 사용하여 특정 커밋으로 돌아갈 수 있는 다른/더 나은 방법이 있습니까?예를 들어, 각 커밋의 라벨을 붙여서 라벨과 함께 되돌려 받을 수 있습니까?
레포트를 그 상태로 되돌리시겠습니까, 아니면 지역 레포트를 그렇게 만들고 싶으십니까?
네가 만약reset --hard
로컬 코드와 로컬 이력을 커밋 때와 동일하게 만듭니다.그러나 새로운 이력을 가진 다른 사람에게 이 정보를 전달하려면 다음과 같이 실패합니다.
git reset --hard c14809fa
그리고 만약 당신이reset --soft
헤드는 원래 있던 곳으로 이동하지만 로컬 파일 등은 그대로 둡니다.
git reset --soft c14809fa
그럼 이 리셋으로 정확히 무엇을 할 건가요?
편집 -
리포트에 태그를 추가할 수 있습니다.태그로 돌아갑니다.하지만 태그는 sha1로 가는 지름길일 뿐입니다.
TAG1로 태그를 붙일 수 있습니다.그 후,git reset --soft c14809fa
,git reset --soft TAG1
, 또는git reset --soft c14809fafb08b9e96ff2879999ba8c807d10fb07
모두가 같은 일을 할 것이다.
내 생각에 바욱의 대답은 어느 순간 틀렸다.
네가 한다면.
git reset --soft c14809fa
그러면 로컬 파일이 이전과 같이 변경되지만 이력 등은 남깁니다.똑같아요.
매뉴얼에 따르면 git-reset, git reset --soft...
는 인덱스 파일이나 작업 트리에 전혀 영향을 주지 않습니다(단, 헤드는 모든 모드와 마찬가지로 <commit>로 리셋됩니다).그러면 git 상태가 나타내는 것처럼 변경된 모든 파일이 "Changes to be committed"로 남습니다.
새로운 커밋을 브랜치로부터 「삭제」합니다.즉, 이전 코드를 확인한 후 이 브랜치의 최신 커밋으로 다시 쉽게 이동할 수 없습니다.따라서 bwawok에서 설명한 바와 같이 반대방향: 로컬 파일은 변경되지 않지만("git reset --soft" 전과 똑같이 표시됨) 이력은 수정됩니다(지정된 커밋 후에 브랜치가 잘립니다).
bwawok의 답변에 대한 명령어는 다음과 같습니다.
git checkout <commit>
이를 통해 이전 버전을 볼 수 있습니다.어제 내 코드가 어떻게 보였습니까?
(알겠습니다만, 이 답변에 코멘트를 붙여야 하는데 stackoverflow에서는 할 수 없습니다.내 평판은 너무 낮다.)
git reset c14809fafb08b9e96ff2879999ba8c807d10fb07
★★★★★★★★★★★★★★★★★...
이 문제를 강제적으로 발생시키고 싶은 경우는, 다음의 조작을 실시합니다.
git reset --hard c14809fafb08b9e96ff2879999ba8c807d10fb07
체크인 시 git 클론이 어떻게 생겼는지 보여줍니다.
언급URL : https://stackoverflow.com/questions/3639115/reverting-to-a-specific-commit-based-on-commit-id-with-git
'programing' 카테고리의 다른 글
Windows 배치: 날짜를 변수로 포맷 (0) | 2023.04.09 |
---|---|
Git mergetool이 원치 않는 .orig 파일을 생성합니다. (0) | 2023.04.09 |
PG 열을 NULLABLE TRUE로 변경하는 방법 (0) | 2023.04.09 |
삭제된 회선을 "git"하려면 어떻게 해야 합니까? (0) | 2023.04.09 |
MongoDB에서 합계를 계산하려면 어떻게 해야 합니까? (0) | 2023.04.04 |