revert로 연습을 해봤는데 너무 log가 지저분해졌다.
이걸 다 제거하는 겸 reset을 사용해보자.
기본적으로 reset은 push --force 를 이용하여 push를 해주어야 한다. 그만큼 권장되지 않고 위험한 것이다.
--hart --soft 이런 커맨드 옵션에 대해서 모르고 사용해온 내 자신이 부끄럽다...
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) // 수신 변경사항
오 진짜.. 모든 코드들이 제거된 것이 수신이라고 알려준다.