- 출처 : https://www.yalco.kr/@git-github/2-3/
이 커밋 하나하나가 묻어놓은 타임캡슐(버전)임
이것들을 나중에 파낼때 안에 뭐가 든 건지 미리알게끔 캡슐마다 작업한거 적어서 꼬리표달아 놔야 버전별로 식별쉽고, 프로젝트를 원하는 과거시점으로 돌릴수있음
시간을 과거로되돌림 vs 콕찝은 작업만 되돌림
RESET
git log
- 되돌아갈 시점: Add team Cheetas의 커밋 해시 복사
- :q로 빠져나가기
git reset --hard (돌아갈 커밋 해시)
Reset : 한단계전(Add team Cheetas작업단계) 으로 되돌릴려면 해당과거로 돌아간다음 이후 행적은 히스토리에서 지워지는 방식으로 돌아감
아래 명령어로 커밋 내역 확인
reset 하기 전 시점으로 복원해보기
백업해 둔 .git 폴더 사용
- .git 폴더 복원
- git log, git status로 상태 확인
- 아래 명령어로 현 커밋 상태로 초기화
git reset --hard
- 💡 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴
- lions.yaml 삭제
- 커밋되지않은거 다 지우고 마지막 커밋의 상태로 돌아가고 싶을때 git reset --hard 씀
- Untracked files = 새로만들어진 파일
REVERT (자동으로 커밋까지됨)
git revert (되돌릴 커밋 해시)
Revert : Replace Cheetas with Panthers 를 삭제하는게 아니라, 이때의 변화를 거꾸로 수행하는 캡슐을 하나 넣음으로써 결과적으로 Add team Cheetas 단계로 돌아가게됨
ex) 추가한게 있으면 삭제하고, 변경한게 있으면 그걸 반대로 수행함
굳이 Revert쓰는 이유 ?
=> 이런 프로젝트 내역 하나하나까지 기록으로 남길 필요가 있을때 Revert사용함
=> 이후내역은 유지하면서 수정해야할것만 콕 찝어서 되돌릴수있음
=> 한번 공유가 된 커밋들은 Revert를 사용해서 되돌려야하는점 반드시 기억하기!!!!! (원활한 협업을 위해)
<실습>
.git 파일을 다른폴더에 백업해놓고 .git 삭제하면
백업폴더에 있던 .git을 원래폴더에 넣으면 처음으로 원복됨
RESET 실습
reset 사용해서 과거로 돌아가기
아래 명령어로 커밋 내역 확인
git log
- 되돌아갈 시점: Add team Cheetas의 커밋 해시 복사
- :q로 빠져나가기
git reset --hard (돌아갈 커밋 해시)
reset 하기 전 시점으로 복원해보기
백업해 둔 .git 폴더 사용
- .git 폴더 복원
- git log, git status로 상태 확인
- 아래 명령어로 현 커밋 상태로 초기화
git reset --hard
- 💡 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴
- lions.yaml 삭제
revert 로 과거의 커밋 되돌리기
Add George to Tigers의 커밋 해시 구하기
아래 명령어로 revert
git revert (되돌릴 커밋 해시)
- :wq로 커밋 메시지 저장
- David , George 를 Revert해서 다시 George 빼고 David로 됨
🎯 Replace Lions with Leopards의 커밋 되돌려보기
- 이후 leopards.yaml 수정한 내역 때문에 충돌
- git rm leopards.yaml로 Git에서 해당 파일 삭제
- git revert --continue로 마무리
- :wq로 커밋 메시지 저장
Replace Lions with Leopards단계에서 tiger 수정 , leopards 추가, lions 삭제했었고 / Replace Cheetas with Panthers에서 leopards를 수정했었음
=> 이걸 Replace Lions with Leopards단계에서 revert하면 충돌남
REVERTING = 현재 Revert 중이다
leopards가 삭제되지않고 컴퓨터에 남아있다고 뜨면서 충돌남, 뭔가 조치를 취해주라는 말임
git 에서 add/rm (add 더하든 remove 빼든) 상황을 해결후에 revert를 컨티뉴해달라는 내용뜸
=> leopards를 삭제후 revert하면됨
git rm leopards.yaml
성공적으로 revert 이루어짐
🎯 reset 사용해서 revert 전으로 되돌아가기
💡 커밋해버리지 않고 revert하기 (다른내용까지 같이 커밋하고싶을때 사용)
git revert --no-commit (되돌릴 커밋 해시)
- 원하는 다른 작업을 추가한 다음 함께 커밋
- 취소하려면 git reset --hard
이 커밋안된 tigers를 다 지우고 마지막커밋으로 가려고할때 아래처럼 입력하면됨
- 출처 : 코딩얄코 유튜브 , https://www.yalco.kr/@git-github/2-3/ 코딩얄코 사이트
'기타' 카테고리의 다른 글
[Python] 파이썬 설치방법 (0) | 2023.12.16 |
---|---|
[Replit] 리플릿을 사용해서 온라인으로 코딩하기 (0) | 2023.09.12 |
[Git] 깃공부2 (0) | 2023.07.14 |
[Git] 깃공부 (0) | 2023.07.12 |
[GitHub] 깃허브(GitHub) 연동하기 (0) | 2023.04.11 |