어~~~엄청나게 오랜만에 돌아왔다! 그 동안 부트캠프 개발일지를 작성한다는 핑계로 Git 포스팅을 미뤄왔다... Git 말고도 포스팅 하고 싶은 내용들이 많기 때문에 다시 하나하나 작성해보려고 한다. 😁
그 동안 포스팅 했던 내용들을 다시 한 번 정리해보자. 나부터 오랜만에 와서 무슨 내용을 올렸는지 가물가물하다
Git을 시작하기 위해선 당연하게도 설치를 먼저 해야한다. macOS 환경에서는 Homebrew를 이용해서 간단하게 설치할 수 있다.
macOS가 아니라면 아래 Git 공식 홈페이지에서도 다운로드해서 설치 할 수 있다.
로컬 환경에 Git을 설치했다면 터미널을 켜고, 원하는 위치에서 Git을 시작하자. init 명령어를 이용하면 해당 폴더에서 git이 시작된다.
$ git init
Git을 사용하는 가장 핵심 이유이자 존재 이유다. 내가 작업한 결과 혹은 내용을 Git으로 기록하는 과정이다. commit하기 전에 거처야할 단계들이 있는데, Git은 크게 4가지의 저장소 개념이 있다.
위와 같이 현재 내 파일이 작업되는 공간이 working directory 이다.[1] 여기서 add 명령어도 파일을 스테이징 시킨 뒤, commit하면 비로소 로컬 저장소에 현재 파일 상태가 기록된다.
이것을 또 외부에 있는 원격 저장소로 push하거나 pull 할 수 있는데, 이건 다음 시간에 살펴보겠다.
Git을 commit만 하고 끝낼 수 없다. 내가 기록해둔 내용들이 무엇인지, 어떤 파일들을 커밋하는지 확인하고 싶을 때는 log를 보면 된다.
$ git log
# 혹은 아래와 같이 볼 수도 있다
$ git log --all --oneline --graph
Git log를 보면 현재 헤드가 어딜 가리키고 있고, 어느 담당자가 커밋을 하고 메세지를 작성했는지 확인할 수 있다.
위에 보이는 log 중 특정 지점으로 리셋하거나 리베이스를 하고 싶다면 commit ID를 입력하면 된다.
reset에는 크게 3가지의 방식이 있다.[2]
hard는 working directory로 회귀하는 것으로 그 동안 작성한 내용들을 아예 삭제한다.
mixed는 작업 내용을 add 시키기 전 상태로 회귀한다.
soft는 작업 내용은 add 시킨 상태로 회귀한다.
그 동안 진행한 내용들을 짧게 정리해봤다. 잊기전에 다음에는 브랜치에 대한 내용과 Git 협업의 핵심 기능인 merge에 대해 알아보자.
[1] : Git Repository, Staging Area, Working Directory
[2] : Git 내용정리