[Git] git reset, revert 사용해보기

YeongMin·2023년 7월 12일
1

git

목록 보기
2/2

git reset

revert로 연습을 해봤는데 너무 log가 지저분해졌다.
이걸 다 제거하는 겸 reset을 사용해보자.

기본적으로 reset은 push --force 를 이용하여 push를 해주어야 한다. 그만큼 권장되지 않고 위험한 것이다.

https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0

--hart --soft 이런 커맨드 옵션에 대해서 모르고 사용해온 내 자신이 부끄럽다...

git revert

revert가 좀 햇갈렸다.

reset은 해당 커밋으로 돌아간다고 콕 찝어서 하는것인데 revert는 해당커밋에 대한 작업을 취소하는 커밋을 덮어씌우는 느낌이었기 때문이다.

예를 들어서 commit1, commit2, commit3 이 있을 때
중간 커밋인 commit2를 revert한다면 어떻게 될 것인지 진행해보기로 했다.

// commit2 에서 작업한 코드
const abc = "ABC";
// commit3 에서 작업한 코드
const bca = "BCA";

위와 같이 Commit2, 3 에서 각각 한줄 씩 동일한 파일에 작업을 했을 때 2를 되돌린다면?

내 예상대로라면 commit2에서 작업한 코드인 const abc = "ABC" 가 제거될 줄 알았으나 그렇지 않았다.

이미 commit3 기준에서도 const abc 가 존재해서 그런것일까?

그럼 여기서 commit2를 revert했고 commit3도 revert한다면?
진짜로 모든 코드들이 제거되어야 할 것이다.

<<<<<<< HEAD // 현재 변경 사항
const abc = "ABC";
const bca = "BCA";
=======
>>>>>>> parent of e2fca0e (1.js code add) // 수신 변경사항

오 진짜.. 모든 코드들이 제거된 것이 수신이라고 알려준다.

profile
Front-End 안영민

0개의 댓글