본문 바로가기
git

<3> 생활코딩 -GIT

by ChaeLOTUS 2022. 11. 11.
728x90
과거로 돌아가기 (reset)

지금부터 우리가 살펴 볼 명령은 말하자면 커밋을 취소하는 명령인데 어렵고 주의해서 해야한다.

강의 뒷쪽에 깃의 원리를 보고 다시 이 내용을 보면 더 이해가 잘 간다고 하니 꼭 다시 보기!

 

 

현재의 log를 취소해서 과거로 돌아가고 싶다. 예를 들면 현재 최신 commit은 5인데 3으로 돌아가고 싶다.

크게 두가지 방법이 있다. 바로 reset과 revert가 있는데 이 두가지가 비슷한듯 다르다. 또한 reset이 여러가지 옵션들이 있기 때문에 상당히 복잡하고 어렵다고 한다. 

 

 

1. reset

git log 에서 5와 4를 삭제하고 3으로 돌아가고 싶다라고 하면 어떻게 하면 될까?

제일 쉬운 건 reset이다.

git log [commit 3 id] --hard를 입력하고 git log를 하면 3 이후의 커밋들이 사라진 걸 확인할 수 있다.

또한 커밋3이 해당되는 소스 코드 상태로 돌아가게 됨. 

사실 깃에서는 웬만하면 어떠한 정보도 삭제하지 않는다. 실제로는 나머지 두개의 커밋이 삭제된 것처럼 보이지만 남아있다. 다만 우리 눈에 보이지 않을 뿐이고 필요하면 다시 복구 할 수 있다.

나중에 우리가 원격저장소를 배우면 협업을 할 수 있게 된다. 협업을 하게 되면 저장소에 버전들을 인터넷에 올릴 수 있게 된다.

즉, 자신의 버전을 다른 곳에 공유할 수 있게 된다. 이렇게 공유한 이후에는 절대로 리셋을 하면 안된다. 

우리가 리셋을 하는 커밋은 공유하기 전에 우리의 컴퓨터에만 있는 버전에 대해서만 리셋 작업을 해야한다.

 

 

2. revert

커밋을 취소하면서 새로운 버전을 생성한다.

<이 부분은 나중에 더 보충>

 

 

 

 

 

 

728x90

'git' 카테고리의 다른 글

<6> 생활코딩 - GIT  (0) 2022.11.25
<5> 생활코딩 - GIT  (0) 2022.11.24
<4> 생활코딩 - GIT  (0) 2022.11.21
<2> 생활코딩 - GIT  (0) 2022.11.07
<1> 생활코딩 - Git  (0) 2022.11.04

댓글