반응형
git을 관리하다보면 잘못된 코드를 commit해서 고치고 싶을 수 도 있고, 나중에 지나고 보니 버전을 예전버전으로 되돌려서 다시 작업을 시작해야하는 경우도 있다. 이럴 때 필요한 명령어는 git reset과 git revert가 있다.
그러나 git reset은 커밋한 내용을 아예 삭제시켜버리기 때문에 되돌아올 수 없는 강을 건너는 것이다. 따라서 원격저장소로의 git reset은 허용하지 않고 있으며 이 명령어는 굳이 추천하고 싶지는 않다.
따라서 그럼 남은 명령어는 git revert !
이 명령어는 정확히 말하자면 과거로 되돌아가는것이 아니라, "commit한 내용을 취소하는 것" 이다. 또한 내가 이 커밋을 취소했다는 이력이 남고, git revert를 사용하기 전 코드기록도 남기때문에 안전하다. 이제 어떻게 사용하는지 살펴보자.
$ git log --oneline -n 3
5cd6df2 (HEAD -> v2l-meshnet) mesh vis 작업중. 일단 저장함.
3ee0033 vis-log.py 수정 : pkl파일 저장, 불러오기 코드 커밋. 이제 local에서 학습한 모델과 바로 비교 가능.
a7a66de only-v2l-meshnet 코드 커밋. baseline 버전.
이 때, 마지막으로 커밋한 내용인 5cd6df2을 취소해서 3ee0033으로 되돌아 가고 싶다면 다음의 명령어를 사용한다.
$ git revert --no-edit 5cd6df2
$ git log --oneline -n 3
4829e29 (HEAD -> v2l-meshnet) Revert "mesh vis 작업중. 일단 저장함."
5cd6df2 mesh vis 작업중. 일단 저장함.
3ee0033 vis-log.py 수정 : pkl파일 저장, 불러오기 코드 커밋. 이제 local에서 학습한 모델과 바로 비교 가능.
여기서 revert 의 옵션으로 --no-edit을 주지 않으면 세부 조정할 수 있는 화면으로 넘어가는데 귀찮으니 --no-edit으로 끝내도록 하자..
반응형
'Git, Version control > Github' 카테고리의 다른 글
[원격저장소 연결] 원격 저장소 연결 끊기, 연결하기 (0) | 2021.12.21 |
---|---|
[github] git을 이용해 과거시점으로 돌아가기(checkout 이용) (0) | 2021.06.01 |
[github] github 사용법/명령어 정리 (0) | 2021.05.30 |
[github] pull 명령어 사용하기 (0) | 2020.09.03 |
[github] git remote 설명, repository 생성 후 원격 저장소에 올리기 (0) | 2020.09.03 |