Git 시작하기 — 가장 자주 쓰는 명령어 9개
Git을 처음 만지는 사람이 첫 commit부터 push까지 걸어가는 데 필요한 9개 명령어를 흐름 순서대로 정리한다. config / init / status / add / commit / remote / push / clone / pull.
Series
Git 시리즈- 1Git 시작하기 — 가장 자주 쓰는 명령어 9개
- 2혼자 써도 따라야 할 Git Convention — 커밋 메시지부터 브랜치까지
공부하게 된 계기
Git을 처음 배울 때 명령어가 너무 많아 보인다. 사실 매일 쓰는 건 10개도 안 된다. 그 핵심을 흐름대로 한 번 정리해두면, 그 뒤로 만나는 rebase나 cherry-pick 같은 명령어는 가지치기일 뿐이다.
이 글은 혼자 → 원격 저장소까지 한 번 걸어보는 흐름이다.
Git이 뭘 하는가
한 문장으로 — 파일의 변경 이력을 스냅샷으로 저장하고, 여러 사람이 그 스냅샷을 공유하게 하는 도구.
세 영역을 머릿속에 그려두면 모든 명령어가 정리된다.
Working Directory → Staging Area → Repository (.git/)
(작업 중인 파일) (commit 대기) (커밋된 이력)
git add: Working → Staginggit commit: Staging → Repositorygit push: Repository → Remote (예: GitHub)
1) git config — 사용자 등록
처음 한 번만 하면 된다.
git config --global user.name "Your Name"
git config --global user.email "you@example.com"--global은 머신 전체 기본값. 특정 프로젝트만 다르게 쓰고 싶다면 --local을 그 프로젝트 폴더에서 실행한다.
# 회사 이메일로 쓰는 프로젝트에서만
cd ~/work/project-a
git config --local user.email "you@company.com"설정 확인:
git config --list2) git init — 빈 저장소 만들기
mkdir my-project
cd my-project
git init이 폴더에 숨김 폴더 .git/이 생긴다. 이게 바로 저장소다.
3) git status — 지금 상태 확인
이 명령은 정말 자주 친다. 답답할 때마다 친다.
git status세 가지 상태를 알려준다:
- Untracked: Git이 아직 모르는 파일
- Modified: Git이 알고 있는데 바뀐 파일
- Staged: commit 대기 중인 파일
4) git add — 스테이징
# 특정 파일
git add README.md
# 디렉토리
git add src/
# 모든 변경
git add .git add .은 편하지만 위험하다. .env, 비밀키, 빌드 결과물이 같이 들어가는 사고가 자주 난다. 먼저 .gitignore를 빠짐없이 채워두고, 의심스러우면 git status로 추가될 파일을 한 번 확인하는 습관이 좋다.
5) git commit — 스냅샷 저장
git commit -m "Add login form"-m을 빼면 기본 에디터가 열린다. 메시지 컨벤션은 다음 편 Git Convention에서 자세히 다룬다.
이 시점에 그 시점의 staging 내용이 영구히 저장된다. commit은 되돌릴 수 있지만 사라지진 않는다 — Git의 가장 중요한 속성.
6) git remote — 원격 저장소 연결
GitHub에 빈 저장소를 하나 만들어두고:
git remote add origin https://github.com/username/repo.git
git remote -v # 연결된 원격 확인origin은 관습적인 이름일 뿐, 다른 이름도 가능하다.
7) git push — 원격으로 업로드
# 첫 push (upstream 지정)
git push -u origin main
# 그 다음부터는
git push-u는 "이 브랜치는 앞으로 origin/main과 짝"이라고 기억시키는 역할. 한 번만 하면 된다.
2020년 이후 GitHub의 기본 브랜치명은 main이다. 옛 자료에 master가 나오면 같은 의미라고 보면 된다.
8) git clone — 남이 만든 걸 복제
git clone https://github.com/vercel/next.js.git
cd next.jsinit + remote add + 첫 pull을 한꺼번에 해주는 명령. 협업의 시작점이다.
9) git pull — 원격 변경 가져오기
git pull다른 사람의 commit을 내 로컬로 가져온다. 내부적으로 git fetch + git merge다. 충돌이 나면 멈추고 사용자에게 해결을 요구한다 — 이게 협업의 첫 관문.
한 사이클 — 처음부터 push까지
# 1. 새 프로젝트 시작
mkdir my-blog && cd my-blog
git init
# 2. 코드 좀 쓰기
echo "# My Blog" > README.md
# 3. 첫 commit
git add README.md
git commit -m "Initial commit"
# 4. GitHub에 빈 저장소 만든 뒤
git remote add origin https://github.com/yourname/my-blog.git
git branch -M main # 기본 브랜치 이름 main으로
git push -u origin main여기까지가 모든 Git 사용의 출발점이다.
GitHub 인증 — 토큰
2021년부터 GitHub는 비밀번호 인증을 막았다. 두 가지 옵션:
- Personal Access Token (PAT): GitHub Settings → Developer settings → Personal access tokens. HTTPS push할 때 비밀번호 자리에 토큰을 넣는다.
- SSH key:
ssh-keygen으로 키 만들고, public key를 GitHub에 등록. URL을git@github.com:user/repo.git형식으로 쓴다.
장기적으로 SSH 추천. 한 번만 등록하면 토큰 만료 신경 쓸 일이 없다.
자주 막히는 지점
| 증상 | 원인 / 해결 |
|---|---|
Author identity unknown | git config --global user.email/.name 안 함 |
Updates were rejected | 원격이 더 앞서 있다. git pull 먼저 |
Permission denied (publickey) | SSH 키 미등록 또는 ssh-add 안 됨 |
.env를 실수로 commit | git rm --cached .env + .gitignore에 추가 + 새 commit. 이미 push했다면 secret을 즉시 폐기 |
정리 및 다음 편
여기까지가 혼자 쓰는 Git의 전부라고 해도 무방하다. 9개 명령어로 첫 commit부터 push까지 걸어왔다.
다음 편에서는 혼자 쓰더라도 따라야 할 Git Convention — 커밋 메시지 작성법, 브랜치 네이밍, PR 템플릿을 정리한다. 미래의 나에게 친절한 commit 이력을 남기는 법.