intro
개발 업무를 하거나 개발자와의 협업을 위해 가장 필요한 것은 무엇일까요?
저는 Git이 가장 필요한 것 중 하나라 생각합니다.
그럼 Git이란 뭘까요?
개발자들이 코드의 변화를 추적하고 여러 사람이 함께 작업할 수 있게 해주는 시스템입니다.
저는 약 4-5년전 학부생 시절 깃을 잘 못다뤄서
밤새 열심히 쓴 코드를 카톡으로 하나하나 팀원과 주고받는 등
비효율적으로 협업을 한 기억이 있습니다..
회사 인턴생활을 하면서 github desktop 프로그램을 사용하여 협업을 하니
'여태까지 모두가 다 사용하는걸 왜 이제야 알았을까'
생각이 들더라고요.
서론은 마치고
이런 편리하고 강력한 시스템인 Git의 기본 커맨드를 정리해보려고 합니다.
1) Git 저장소 시작하기
현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리(Working Directory)로 만들고,
내부에 Git 저장소인 .git 폴더를 생성합니다.
- “이 폴더부터 Git으로 버전 관리하겠다”는 선언
- 실행 후 보이지 않는 .git 디렉토리가 생김
git init
2) 커밋 작성자 정보 설정하기
커밋에는 “누가 만들었는지” 정보가 함께 기록됩니다. 그래서 user.name, user.email 설정이 필요합니다.
git config user.name "codeit"
커밋에 기록될 사용자 이름을 설정합니다.
git config user.email "teacher@codeit.kr"
커밋에 기록될 이메일 주소를 설정합니다.
3) 변경 사항을 Staging Area에 올리기
Git에서 커밋은 Staging Area에 올라간 변경 사항만 포함합니다.
즉, 커밋하기 전 “이번 커밋에 포함할 변경”을 골라 올리는 과정이 필요합니다.
git add [파일 이름]
특정 파일 하나만 스테이징합니다
git add app.js
git add [디렉토리명]
해당 디렉토리 안에서 변경된 파일들을 스테이징합니다
git add src
git add .
현재 디렉토리(working directory) 기준으로 변경된 모든 파일을 스테이징합니다
git add .
4) 스테이징 취소하기
이미 Staging Area에 올렸던 파일을 다시 내려서, 커밋 대상에서 제외합니다.
git reset app.js
“add 했다가 마음이 바뀌었을 때” 가장 자주 씁니다.
5) 현재 상태 확인하기
현재 Git이 인식하는 프로젝트 상태를 보여줍니다.
- 어떤 파일이 수정되었는지
- 어떤 파일이 스테이징 되었는지
- 커밋할 내용이 남아있는지
git status
문제 상황이 생겼을 때도, 일단 git status부터 보면 대부분 실마리가 나옵니다.
6) 커밋 남기기
Staging Area에 올라간 변경 사항을 하나의 커밋으로 기록합니다.
git commit -m "Add login button UI"
커밋 메시지는 나중에 히스토리를 봤을 때 이해하기 쉽게,
무엇을/왜 했는지가 드러나게 쓰는 것이 좋습니다.
7) 공식 매뉴얼 확인하기
특정 Git 커맨드의 공식 매뉴얼을 확인할 수 있습니다.
git help commit
“옵션이 뭐였지?” “사용 예시가 더 필요하다” 싶을 때 빠르게 참고하기 좋습니다.
