개요

42와 Git

42서울을 들어오기 위한 라피신부터 이너서클뿐만 아니라 아우터에서도 과제를 제출하기 위해 간단하게 git을 이용한다. 클러스터 말고 다른 공간에서 과제를 하기 위해 각자의 개인 레포지터리에 파일을 저장해서 작업을 하기도 하고, 팀 과제 및 과제 외 프로젝트를 위해 우리는 git을 이용하는 경우도 있다.

과제 맨 마지막에 항상 보이는 이 문구!

과제 맨 마지막에 항상 보이는 이 문구!

굳이 Git를 배워야 할까?

하지만 아직도 git이 불편하고 복잡하다고 생각하거나, 굳이 과제를 하는데 git까지 이용을 해야하나라는 이유로 메일로 서로의 코드를 합치는 방법을 자주 사용한다. 이 또한 좋고 편한 방법이고 확실히 명백한 이유이다.

그래도 앞으로의 개발을 위해 git이랑 좀더 친해진다면 좋을 거 같아 간단한 git 명령어부터 대규모 프로젝트에 쓰이는 GitFlow 전략을 설명해볼 것이다. 이번 장에선 git에서의 기초적인 명령어와 개념을 공부하고 다음 장에는 이를 과제에 적용해보고 싶은 분들을 위해 팀과제에 맞는 GitFlow도 소개해 보이겠다.

본문

Git이란

git이란 버전 관리 시스템(Version Control System, 일명 VCS)의 하나이다. 하지만 단순히 버전 관리만을 담당하지 않고 추가적인 기능을 갖고 있다. 백업을 위해서 Github 서비스를 이용하거나, 다른 사람들과 협업을 하기 위한 도구로 사용한다.

그리고 Git를 좀더 편하고 직관적으로 사용하기 위해 다양한 프로그램이 있지만, 이 글에선 git의 기초가 되는 커맨드 라인 인터페이스를 다룰 예정이다.

Git과 Github의 차이점

이 둘은 정말 찰떡같은 궁합을 자랑하며 서로 떌 수 없는 관계이지만, 분명히 다른 도구이다. Git은 위에서 말했듯 작업물의 버전이나 코드을 효율적으로 관리하는 도구이지만, Github는 git을 이용하는 사람들을 위한 클라우드 저장소이며, 개발자들을 위한 커뮤니티 같은 공간이다. 즉 Git만으로는 로컬 단위에서만 작업물을 관리할 수 있지만, Github와 함께라면 온라인으로 작업물을 올려서 다른 사람들이 볼 수 있거나 수정할 수 있게 할 수 있다.

자주 사용하는 Git 명령어

! 명령어의 순서는 임의로 정렬되있음을 밝힙니다.

0. Git를 위한 기본 설정법

만약 git을 처음 접하거나 새로운 셋팅을 위해서 해야할 설정법으로, 혹시나 필요한 사람들을 위해 토글로 적어놓겠습니다.