작업 전 상태로 되돌리기
1. 수정한 파일 되돌리기
- 작업 트리에서 수정한 파일을 되돌릴 수 있음
- #1. vim test.txt를 입력 후, 마지막 'Bye!!'를 'Good Morning!'으로 수정
- #2. git checkout -- test.txt를 입력하여 수정 전으로 돌리고, cat test.txt를 입력하여 파일 내용 확인
→ 수정 전으로 돌아감을 확인
2. 최신 커밋 되돌리기
- git reset HEAD^ : 가장 마지막에 한 커밋을 취소함
- #1. vim test2.txt를 입력 후, c까지 입력한 후, 저장
- #2. git commit -am "message4"를 입력해 스테이징과 커밋을 함께 실행
- #3. git log로 확인해 보면, 커밋 메시지가 message4인 커밋을 확인할 수 있음
- #4. git reset HEAD^를 입력하여 최신 커밋을 되돌림
※ HEAD^는 HEAD가 가리키는 브랜치의 최신 커밋을 가리킴
→ git reset HEAD^는 (HEAD -> master)가 가리키는 곳의 전까지 되돌림
- #5. git log를 입력하여, 최신 커밋이 사라졌는지 확인
3. 특정 커밋으로 되돌리기
- reset HEAD^는 최신 커밋을 되돌리는 거지만, 특정 버전으로 되돌린 다음 그 이후 버전을 삭제할 수 있음
- git reset 커밋 해시를 사용
- #1. vim rev.txt를 입력 후, A를 입력
- #2. git add rev.txt를 입력하여 스테이지에 올린 후, git commit -m "R1"을 입력해 커밋함
- #3. vim rev.txt를 다시 입력 후, B를 추가 입력한 뒤 git add rev.txt 입력하고 git commit -m "R2"로 커밋함
- #4. 같은 방법으로 C를 입력한 뒤 R3를, D를 입력한 뒤 R4로 커밋함
- #5. git log를 입력하면, R4까지 커밋했음을 알 수 있음
- #6. R2 커밋으로 되돌리기 위해 R2 커밋의 커밋 해시를 복사
- #7. git reset --hard 복사한 커밋 해시를 입력
→ HEAD is now at 8dda134 R2는 방금 복사해서 붙인 커밋이 최신 커밋이 된 것을 의미
- #8. git log를 입력하면, R2가 가장 최신 커밋임을 확인할 수 있음
4. 커밋 삭제하지 않고 되돌리기
- 커밋을 되돌리더라도, 취소한 커밋을 남겨두어야 할 경우에 사용
- git revert라는 명령어를 사용
- #1. vim rev.txt를 입력 후, E를 추가
- #2. git commit -am "R5"를 입력하여 커밋함
- #3. git log를 입력하여 R5가 커밋되었는지 확인
- #4. 커밋한 R5 버전을 취소하고, 커밋 R2로 되돌리기 위해 git revert 복사한 R5 커밋 해시를 입력
→ 그러면 기본 편집기가 나타나면서 커밋 메시지를 입력할 수 있음
→ 추가로 남겨 둘 내용을 입력한 뒤 저장
- #5. git log 입력하여 확인 (R5를 revert한 새로운 커밋이 생김, 기존의 R5는 사라지지 않음)
→ 커밋 R5 버전을 제거하는 대신, R5에서 변경했던 이력을 취소한 새 커밋을 만든 것
- #6. car rev.txt를 입력하여 E가 추가 되었는지 확인
→ E가 없어짐 (revert 명령을 사용해 버전에 있던 이력을 취소한 것)
'없어진 글모음' 카테고리의 다른 글
버전 생성 단계마다 파일 상태 확인 (0) | 2023.01.11 |
---|---|
커밋 내용 확인 (0) | 2022.11.14 |
버전 생성 및 커밋(Commit) (0) | 2022.11.12 |
깃 저장소 만들기 (0) | 2022.11.03 |
리눅스 명령어 (0) | 2022.11.03 |