기술노트/깃허브

revert를 사용하여 commit 되돌리기

반응형

main을 checkout한 상태에서 이런식으로 #revert 되돌리기 용 이렇게 적어보자.

 

변경사항 stage에 올려주자.

 

 

머 이런식으로 적고 commit 해준다. 

 

이렇게 만들어졌다.

그런데 이걸 되돌리고 싶다.

즉 origin/main이 있는 시점으로 되돌아가고 싶다. 그러면?

 

 

즉 커밋 0ccc877번을 되돌리고 싶다. 그러면?

 

main을 checkout한 상태에서 main을 클릭하고 오른쪽마우스를 클릭한다. 

 

 

 

 

 

커밋 되돌리기를 클릭한다. 

 

 

 

 

 

 

 

이렇게 위에 커밋이 하나 더생긴다.

 

다시 python으로 가보면?

 

아까 적었던게 사라져있다. 

 

이 상태에서 다시 아까 #revert 되돌리기 용 이라고 적은 상태로 돌아가고 싶다면

 

reset방식으로 되돌아간다.

 

reset연습 부분을 클릭하고 오른쪽마우스클릭해서 '이 커밋까지 현재 브랜치를 초기화' 하면 된다.

 

Hard 모드로 초기화 하자.

 

 

 

 

다시 돌아가졌다.

 

다시 python도 가보면

되돌아왔다.

 

이게 revert의 사용법이다.

 

revert는 커밋을 남긱고 되돌리는데 모양도 깔끔하게 만든다.

대신 충돌이 나기가 쉽다.

 

 

 

 

커밋 되돌리기 하면

 

 

 

 

 

다시 아까 

 

이 상태로 되돌아와진다. 

 

Git branching 사이트에서 다시 설명해보겠다.

 

learngitbranching.js.org/

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

라는 사이트에 들어가자.

 

 

 

git commit을 두번 치고 이 상태로 만들자.

 

만약 c3를 되돌리고 싶다면?

 

 

 

git revert C3를 써주면 된다. 여기서는 C3'라고 적혀있지만 사실 C2랑 똑같은 의미이다.

 

 

 

 

git reset HEAD~2라고 하면 C2로 되돌아가고 C3의 내용은 영원히 사라진다. 이게 reset이다.

 

 

요약하자면 revert는 commit을 보존하면서 C3 커밋은 보존이 되지만

reset은 아예 영구적으로 사라지게 만들어버린다.

 

즉 revert는 내용만 되돌릴 수 있는 좋은 되돌리기 방법이다. 

 

 

 

 

'기술노트 > 깃허브' 카테고리의 다른 글

stash를 이용한 작업 내용 저장  (0) 2021.01.18
Revert를 이용해서 여러가지 commit을 되돌리기  (0) 2021.01.17
branch로 commit 되돌리기  (0) 2021.01.15
reset으로 commit 되돌리기  (0) 2021.01.14
충돌 방지  (0) 2021.01.13