작업 되돌리기
Git 명령어
명령어 | 설명 |
$ git restore 파일명 | modified 상태의 파일을 수정되기 전으로 되돌릴 수 있다. |
$ git restore --staged 파일명 | 스테이징된 파일을 modified 상태로 되돌리는 것이다. |
$ git reset HEAD^ | 가장 마지막에 한 커밋을 취소하는 명령어로, 커밋과 스테이징이 함께 취소된다. |
$ git reset --hard 해시값 | HEAD를 해당 커밋으로 이동시키고 이후의 모든 변경 사항을 제거한다. |
$ git revert 해시값 | 지정한 커밋을 되돌리는 새로운 커밋을 생성한다. 이 방법은 커밋을 취소하면서 동시에 히스토리에 취소했다는 기록을 남기는 것이다. |
수정된 파일 되돌리기
$ git restore 파일명
modified 상태의 파일을 수정되기 전으로 되돌릴 수 있다.
modified ㅡ> unmodified
1. 파일 수정
hello.txt에서 tree를 3으로 변경
깃 상태 확인
$ git status
![]() |
Change not staged for commit : 스테이징 되지 않음.
midified : 수정된 파일이 있음
2. 이전 상태로 되돌리기
$ git restore hello.txt
![]() |
이전 작업으로 되돌리기
modified ㅡ> unmodified
3. 파일 출력하기
$ cat hello.txt
![]() |
3ㅡ>tree로 복원
스테이징 취소하기
$ git restore --staged 파일명
스테이징된 파일을 되돌리는 명령어다.
staged ㅡ> modified
1. 파일 수정하기
hello2.txt 파일의 내용을 A, B, C, D로 수정
2. 스테이지 올리기
$ git add hello2.txt
![]() |
Git 상태 확인
$ git status
![]() |
Changes to be committed : 커밋할 파일이 있음
3. 작업 되돌리기
$ git restore --staged hello2.txt
![]() |
스테이징된 hello2.txt 되돌리기
staged ㅡ> modified
Git 상태 확인
$ git status
![]() |
Changes not staged for commit : 스테이징 전으로 돌아감
최신 커밋 취소하기
$ git reset HEAD^
가장 마지막에 한 커밋을 취소하는 명령어로, 커밋과 스테이징이 함께 취소된다.
modified상태가 된다.
1. 파일 수정
hello2.txt의 내용에 E를 추가한다.
2. 스테이징 커밋 한번에 하기
$ git commit -am "최신 커밋 취소"
![]() |
한 번 커밋된 파일은 -am을 사용해 스테이징과 커밋을 한번에 할 수 있다.
3. 최신 커밋 취소
$ git reset HEAD^
![]() |
Git 히스토리를 확인하여 "최신 커밋 취소"가 사라진 것을 확인
![]() |
Git 상태를 확인하여 hello2.txt 파일이 modified 상태인 것을 확인
![]() |
특정 커밋으로 되돌리기
$ git reset --hard 해시값
HEAD를 해당 커밋으로 이동시키고 이후의 모든 변경 사항을 제거한다.
R1 ㅡ> R2(HEAD)
R1(HEAD)
1.파일 생성
rev.txt 파일 생성 후 a입력
2. 스테이징 및 커밋
$ git add rev.txt
$ git commit -m "R1"
![]() |
![]() |
Git 히스토리에서 R1이 커밋 되었는지 확인
![]() |
3. 파일 수정 후 커밋
rev.txt 파일에 b를 추가하고, 커밋한다.
$ git commit -am "R2"
![]() |
동일한 방법으로 c를 추가하고 R3를 커밋, d를 추가하고 R4를 커밋한다.
$ git commit -am "R3"
$ git commit -am "R4"
히스토리에 R1, R2, R3, R4가 있는지 확인한다.
![]() |
4. 커밋 되돌리기
$ git reset --hard R2해쉬값
R2 커밋으로 되돌아가고, 이후의 커밋을 제거한다.
![]() |
Git 히스토리에서 최신 커밋이 R2인지 확인한다.
![]() |
이후에 cat으로 rev.txt를 출력하면 a와 b가 출력된다.
특정 커밋으로 되돌리기
$ git revert 해시값
지정한 커밋을 되돌리는 새로운 커밋을 생성한다.
이 방법은 커밋을 취소하면서 동시에 히스토리에 취소했다는 기록을 남기는 것이다.
1. 파일 수정
rev.txt파일에서 e를 추가한다.
2. 스테이징 및 커밋
$ git add rev.txt
$ git commit -m "R5"
수정한 파일의 스테이징 및 커밋을 진행하고, Git 히스토리를 통해 R5를 확인한다.
![]() |
![]() |
![]() |
3. 커밋 되돌리기
$ git revert R5의해시값
![]() |
R5 커밋을 취소하고 직전 커밋인 R2로 되돌아간다.
![]() |
이후 편집기가 자동으로 나타나고, 커밋 메세지를 입력할 수 있게된다.
Revert "R5" 과 This rverts commit ~~~~의 사이의 공간에 커밋 메세지를 작성한다.
i를 눌러 입력을 시작할 수 있고, esc를 눌러 입력을 종료할 수 있다.
입력을 끝마쳤다면 --INSERT--부분에 :wq를 입력하고 엔터를 누르면 종료된다.
i : 입력
esc : 입력 종료
:wq : 종료
![]() |
R5의 커밋이 보류 되었음을 확인할 수 있다.
'Git|GitHub' 카테고리의 다른 글
Git - 브랜치(문서 병합) (0) | 2024.10.06 |
---|---|
Git - 브랜치(병합) (0) | 2024.10.02 |
Git - 브랜치 (1) | 2024.10.02 |
Git - 버전 관리 (2) | 2024.10.01 |
Git - Git란 무엇인가? (2) | 2024.09.30 |