서버에 올려보고 속도 체크 해본데서, 커밋한거 올렸었는데,
속도가 안나와서, 커밋한거를 되돌릴 상황이 발생해 버렸다.
근데, git 저장소를 따로 쓰는 우리에서는 저장소에 접속할순없고....
내 로컬에서 되돌리기를 해서 다시 푸시를 해줘야하는 상황인거다.
그래서 소스트리에서 그냥 "현재브런치를 이 커밋으로 초기화"를 했는데...
원격저장소에는 마지막 커밋이 남아 있어서, 푸쉬가 안된다.
소스트리가..... 한글이라....'커밋바꾸기'가 맞는지...'재배치'가 맞는지
몰라서......
그냥 터미널을 열어서 명령어를 쳤다.
터미널 위치는 밑에 사진에 보면 있다.
git revert HEAD
위 명령어를 치면 메시지 에디터로 들어간다.
그때, 커밋 내용을 쓴다음에 esc키를 누르고 :wq 를 누르면, 메시지 작성에서 나오면서 되돌아같다.
그리고 위 사진처럼 Revert "커밋 메시지" 가 써지고 새로운 커밋이 생성된다.
revert HEAD 명령어는
HEAD에서 변경한 내역을 취소하는 새로운 커밋을 발행함.
(이것은 커밋을 이미 push한 경우에 사용하면 된다.)
커밋 내용을 보면 이전 커밋에 +됬던 내용들이 다시 -로 바뀌어 있다.
여러 커밋을 할때는
git revert [커밋번호] [커밋번호] [커밋번호]
이렇게 하면 된다.
커밋번호는 다 쓸필요 없이, 앞에 7자리까지만 해도 된다.
위에 방법은 bash에서 하는법이고, 소스트리에서 하고 싶은데....
revert가 한국어로 어떻게 번역한지 모르겠더라....
밑에가 메뉴 영문이다.
reset 은 있는데, Revert가 없다.
Revert가 "Reverse commit...." 이다.
한국말로 커밋 바꾸기 하면 된다.
여기서 알아야 할것은,
Revert할때, 여러 커밋 되돌릴때는 최신거 부터 순서대로 다 하는게 낫다.
중간에 빼 먹고 하면.... 나중에 merge할때, 충돌날 확률이 크다.
그리고,
"Merge branch 'master' into dev "
위와 같은 정보 커밋은 revert 할수 없다.
되돌리기 커밋은 내가 한 커밋만 가능하다.
==================================================================
※ reset과 revert의 차이점
reset은 선택한 버전을 reset할 경우 선택한 버전의 이후 버전을 모두 삭제하고 선택한 버전의 상태로 되돌아간다.
revert는 선택한 버전을 revert할 경우 선택한 버전의 바로 전 버전으로 돌아가는 새로운 commit을 자동으로 실행한다.
※ 여러 버전을 건너뛰어 Revert하게 되면 충돌이 발생한다. 예를 들어, 위 예제에서 "Circle클래스 추가" 버전으로 돌아가고 싶을 경우 최근 버전인 "Circle클래스 수정" 버전부터 차례로 revert하여야 한다.
출처: http://gangju.tistory.com/21 [gangju 개인 블로그]
===========================================================
밑의 내용은 아래 블로그에서 퍼온거다.
http://blog.daum.net/to302/10
git reset HEAD^
git push origin -f
git reset HEAD@{1}
git push origin +master
git reset HEAD^ // 최종 커밋을 취소. 워킹트리는 보존됨. (커밋은 했으나 push하지 않은 경우 유용)
git reset HEAD~2 //마지막 2개의 커밋을 취소. 워킹트리는 보존됨.
git reset --hard HEAD~2 // 마지막 2개의 커밋을 취소. index 및 워킹트리 모두 원복됨.
git reset --hard ORIG_HEAD // 머지한 것을 이미 커밋했을 때, 그 커밋을 취소. (잘못된 머지를 이미 커밋한 경우 유용)
git revert HEAD // HEAD에서 변경한 내역을 취소하는 새로운 커밋 발행(undo commit). (커밋을 이미 push 해버린 경우 유용)
'컴퓨터 > Git' 카테고리의 다른 글
아파치 웹서버 .git 디렉토리 접근 차단 (0) | 2024.05.03 |
---|---|
git remote 암호저장( 깃 원격저장소 암호 저장) (0) | 2018.07.02 |
깃 브랜치 관리하는 법 (0) | 2018.04.27 |
git clone 깃저장소에서 가져올때 암호 저장 (0) | 2018.03.08 |
git pull,push 할때, Gtk-WARNING 에러 발생 (0) | 2018.03.08 |