1. 개요
깃허브는 코드를 분기별로 올릴 수 있다.
내가 만들던 프로그램이 커밋된 날짜가 2/28 이고, 두번째가 3/2 이라면 예상치 못한 에러나 실수가 발생했을 때
2/28일 상태의 코드로 돌아갈 수 있다.
여기서 사용되는 방법이 reset과 revert다.
2. 차이
reset은 말 그대로 초기화다. git log 명령어를 치면 커밋한 이력을 볼 수 있다.
그럼 커밋 메시지와 함께 commit 아이디가 나온다.
커밋 메세지와 세트가 되어있는 커밋 아이디 (commit 07d94c... 등)의 앞자리 7개 정도를 복사하고,
git reset {커밋 아이디 앞자리} --hard 명령어를 입력하게 되면 그 분기로 돌아가게 된다.
하지만 reset --hard를 사용하게 되면 돌아간 분기 이후의 이력은 다 사라지게 된다.
2/28 로 reset하게 된다면 3/2의 코드는 사라진다는 말이다.
여기서 revert와의 차이가 나온다.
revert를 하게 되면 원하는 위치로 이동하면서, 그 뒤에 있던 이력을 유지할 수 있다.
git revert {커밋 아이디 앞자리} 명령어를 입력하면 vi창이 나올 것이다.
esc 다음 :x를 입력하면 무사히 빠져나올 수 있다.
그럼 원하는 분기의 정보를 가져오지만, 원래 이력은 그대로 유지된다.
3/2 의 상태에서 2/28로 reset 하면 git 저장소 이력은 2/28 밖에 없다.
revert를 하게 되면 2/28, 3/2, revert(2/28과 같음)의 상태가 되어 3/2로도
갈 수 있다.
'깃허브' 카테고리의 다른 글
8주차, 깃허브 명령어 (0) | 2022.02.11 |
---|---|
8주차, Git-Flow 이해 (0) | 2022.02.11 |
8주차, 깃허브 개념 이해 (0) | 2022.02.11 |
8주차, 깃허브 remote origin 삭제 (0) | 2022.02.10 |
8주차, 깃허브 .gitignore (0) | 2022.02.10 |
댓글