git - CLI를 통한 버전관리(5) : 버전관리 C.R.U.D(D)

Seoung Young Oh·2023년 2월 20일
0

git

목록 보기
6/6

Delete

commit은 삭제하기 위해서 git reset "COMMIT_ID"명령어을 사용한다.

commit이 다음과 같은 순서로 이루어 져있을 때

commit3을 삭제하고 싶다면 commit3의 이전 버전인 commit2의 상태로 돌리는 것이다.

git reset "COMMIT_ID" COMMIT_ID를 삭제하는 것이 아니라COMMIT_ID로 돌아가는 것이다.

실습을 해보자.
commit이 다음과 같다. 여기서 New Messagecommit을 삭제하고 싶다면,
Message 3의 상태로 돌아가면 된다.

git reset명령어를 실행하고, log를 살펴보자.

New Messagecommit이 삭제되고, maseter의 위치가 Message 3을 가리키고 있는것을 볼 수 있다.

하지만 commit의 삭제는 신중해야 하기 때문에 git revert로 좀 더 안정적으로 버전을 관리할 수 있다.

git revert는 용법은 뒤에 직전의 commitCOMMIT_ID를 적어 준다.

두 명령어의 차이점을 살펴보자

git reset

  • COMMIT_ID이후의 commit을 삭제하고, COMMIT_ID상태로 돌아간다.

git revert

  • COMMIT_IDcommit을 상태의 새로운, commit을 생성한다.
  • 그림에서 commit2revert commit3의 내용은 동일하다.

git revert는 원하는 commit으로 상태를 돌려 놓은 새로운 commit을 생성하기 때문에, commit을 삭제해야 하는 부담스렁운 상황을 피해 갈 수 있다. 다만 다음과 같은 주의 해야 할점이 있다.

  • revert는 한번에 여러단계를 되돌릴 수 없다.
  • 여러 단계를 한번에 되돌린다면, 새로 생성된 파일에의한 충돌과 엉킴이 발생한다.
  • 여러 단계를 되돌리고 싶다면, 최근순으로 순차적으로 돌려야 한다.

출처

https://opentutorials.org/course/301

0개의 댓글