본문 바로가기
Deployment/GitHub

실제로 사용하는 Git 명령어

by curious week 2026. 5. 25.

깃 공부를 많이 했지만, 실제로 오픈소스 기여를 위해서 사용할 때가 되면 당황스럽다.

0. 가장 중요한 Git 구조

이걸 먼저 머리에 넣어야 합니다.

upstream
=
원본 저장소

origin
=
내 fork 저장소

local
=
내 컴퓨터

흐름:

원본 저장소(upstream)
↓ fork
내 GitHub(origin)
↓ clone
내 로컬(local)

1. 가장 자주 쓰는 실무 Workflow

이게 진짜 핵심입니다.

# 최신 main 가져오기
git switch main
git fetch upstream
git merge upstream/main
git push origin main

# 작업 브랜치 생성
git switch -c feature/something

# 작업 후
git add .
git commit -m "Fix something"

# 내 fork에 push
git push -u origin feature/something

# GitHub에서 PR 생성

이게 OSS/실무 표준 흐름입니다.


2. 브랜치 관련


현재 브랜치 확인

git branch

사용 빈도:

매우 높음

브랜치 이동

git switch 브랜치명

예:

git switch main

사용 빈도:

매우 높음

새 브랜치 생성 + 이동

git switch -c feature/login

사용 시기:

새 기능 작업 시작

실무 중요도:

매우 중요

브랜치 삭제

git branch -D 브랜치명

예:

git branch -D feature/login

사용 시기:

merge 완료 후 정리

3. 상태 확인


현재 상태 확인

git status

진짜 중요합니다.

거의:

"불안하면 status"

입니다.

사용 빈도:

매우 매우 높음

변경 내용 보기

git diff

사용 시기:

commit 전 확인

4. Commit 관련


파일 stage

git add .

또는:

git add src/main.rs

commit

git commit -m "Fix scaler calculation"

commit 메시지 예시:

Fix ...
Add ...
Refactor ...
Update ...
Remove ...

마지막 commit 수정

git commit --amend

사용 시기:

오타 수정
파일 빠짐
commit message 수정

실무에서 엄청 많이 씀.


5. Push / Pull


내 fork로 push

git push origin 브랜치명

예:

git push origin feature/rexpaint

upstream 연결 포함 push

git push -u origin feature/rexpaint

의미:

앞으로 이 브랜치 tracking

추천:

새 브랜치 첫 push 때 항상 사용

6. Fetch / Merge


원본 최신 정보 가져오기

git fetch upstream

안전합니다.

다운로드만 함

upstream main 병합

git merge upstream/main

현재 브랜치에 최신 main 반영.


7. Reset (중요)


soft reset

git reset --soft HEAD~1

효과:

commit만 취소
코드 유지

실무 사용:

매우 많음

hard reset

git reset --hard HEAD~1

효과:

commit 삭제
코드도 삭제

주의:

위험함

브랜치를 upstream/main 상태로 초기화

git reset --hard upstream/main

사용 시기:

브랜치 꼬였을 때

8. Force Push


강제 push

git push --force-with-lease

사용 시기:

reset 후
rebase 후
commit amend 후

중요:

개인 feature branch에서만

9. Log / History


간단한 로그

git log --oneline

브랜치 구조 보기

git log --oneline --graph --decorate -10

엄청 중요합니다.

Git 이해가 빨라집니다.


10. Remote


remote 확인

git remote -v

예:

origin
upstream

확인.


upstream 추가

git remote add upstream 원본URL

11. Cherry-pick


특정 commit만 가져오기

git cherry-pick 커밋ID

사용 시기:

깨끗한 브랜치로 commit 이동

실무 중요도:

높음

12. Rebase


최신 main 기준으로 정리

git rebase upstream/main

효과:

commit을 최신 main 위로 재배치

실무에서 매우 중요.

하지만 처음엔 merge workflow부터 익숙해지는 걸 추천.


13. PR 실무 핵심


절대 main에서 직접 작업하지 않기

항상:

git switch -c feature/...

PR 단위 작게

좋은 PR:

Fix one thing

나쁜 PR:

20개 기능 섞임

commit보다 PR diff가 중요

maintainer는:

최종 diff

를 주로 봅니다.


14. 진짜 실무 필수 TOP 10

이건 거의 매일 씁니다.

git status
git switch
git switch -c
git add .
git commit -m
git push
git push -u
git fetch
git merge
git log --oneline --graph

15. OSS 기여 핵심 Workflow (최종)

# 최신화
git switch main
git fetch upstream
git merge upstream/main
git push origin main

# 브랜치 생성
git switch -c feature/something

# 작업
git add .
git commit -m "Fix something"

# push
git push -u origin feature/something

# GitHub PR

이 흐름만 몸에 익으면:

GitHub OSS contributor workflow

의 80%는 이미 익힌 겁니다.

'Deployment > GitHub' 카테고리의 다른 글

Github Actions  (1) 2026.05.05
Learn Git Branching (2) remote  (0) 2026.05.01
GitHub Skills  (0) 2026.04.30
Learn Git Branching (1) main  (0) 2026.04.30
버전 관리와 깃(Git)  (0) 2025.12.01