[Git] 기초 실습 정리 (로컬저장소)
Github나 Gitlab 같은 원격저장소에 저장하는 것이나 원격저장소 만드는 법을 그 전 글에 업로드하겠다고 했는데 생각해보니 나만의 로컬저장소를 만드는 것부터가 먼저해야할 순서라 이 글부터
seo2730.tistory.com
[Git] 기초 실습 정리 (원격저장소 Github)
[Git] 기초 실습 정리 (로컬저장소)Github나 Gitlab 같은 원격저장소에 저장하는 것이나 원격저장소 만드는 법을 그 전 글에 업로드하겠다고 했는데 생각해보니 나만의 로컬저장소를 만드는 것부터
seo2730.tistory.com
안녕하세요, 이번에는 저번 글에서 쓰였던 git 명령어들을 상세히 정리해보았습니다.
해당 명령어들은 실제 많이 쓰이는 명령어들이라서 git으로 프로젝트의 SW를 관리할려면 최소한 이 명령어들은 알아야합니다.
1. git init : Git 저장소 시작
핵심 용도: 현재 디렉토리를 Git 로컬 저장소로 초기화. .git 숨김 폴더 생성 → 모든 Git 기능 활성화.
언제 사용하는지?
- 새 프로젝트 시작할 때 항상 첫 번째
- 기존 폴더를 Git 관리로 전환
- 절대 중복 실행 NO (이미 초기화된 곳에서 다시 하면 문제 없지만 불필요)
상세 설명 & 옵션
mkdir my-project && cd my-project
git init
출력 예시:

- .git 폴더 안에 모든 히스토리, 설정 저장
- 삭제하면 모든 Git 기록 날아감 → 백업 주의
유용한 옵션:
- -q 또는 --quiet : 터미널에 출력을 최소화하여 보임
- --init -b [하고 싶은 브랜치명] : git 초기 브랜치명으로 디폴트 설정인 master가 아닌 [하고 싶은 브랜치명]으로 설정
2. git status – 지금 내 저장소 상태 확인
핵심 용도: 현재 작업 디렉토리의 Git 상태를 한눈에 보여줌. Staging Area와 Working Directory의 차이를 파악.
언제 사용하는지?
- 파일 추가/수정 직후
git add나commit전에 반드시- “뭐가 바뀌었지? 커밋할 게 있나?” 할 때
상세 설명 & 옵션
git status
출력 예시:

아래는 git status 사용 시 알아야할 git 내 파일들의 상태 용어
- Untracked : Git이 모르는 새 파일
- Modified (Changes not staged) : 이미 Tracked지만 수정된 파일
- Staged (Changes to be committed) :
git add한 파일 → 다음 커밋에 포함 - Unmodified : Commit 후 수정된 파일들의 상태를 Unmodified로 됨
각 상태에 따른 흐름도는 아래 이미지 참고

Untracked → Unmodified → Modified → Staged → Unmodified 순환 구조
상세 설명
- Untracked : touch Readme.md → Git이 모르는 새 파일
- Add the file → git add Readme.md → Staged로 이동
- Stage the file → git commit → Unmodified로 이동 (안전 저장)
- Edit the file → 수정 → Modified으로 이동
- Stage the file → 다시 git add → Staged → git commit 반복
- Remove the file → git rm Readme.md → Staged → Commit으로 삭제 영구화
유용한 옵션:
-s또는--short: 한 줄 요약 (스크립트용)git status -s # 출력: ?? app.js M style.css A index.html
3. git add - 변경된 사항들을 git에 추가
핵심 용도: Working Directory의 모든 변경(새 파일, 수정, 삭제)을 Staging Area로 이동. 커밋 준비 단계.
언제 사용하는지?
- 여러 파일 수정 후 한 번에 커밋할 때
- 프로젝트 초기 세팅 (수십 개 파일)
.gitignore외 모든 파일 추가
상세 설명 & 옵션
git add --all # 또는 git add -A
- --all vs . 차이:
git add .: 현재 폴더만 (상위 폴더 변경 무시)git add --all: 저장소 전체 (삭제된 파일도 포함)
특정 파일만:
git add README.md
git add src/*.js # 와일드카드 가능
4. git commit -m "메시지" – 무엇이 변경되었는지 메세지로 기록
핵심 용도: Staging Area의 변경을 로컬 저장소에 영구 커밋. 버전 관리의 핵심.
언제 사용하는지?
- 기능 하나 완성할 때마다
- 오류 발생 전 백업
상세 설명
git commit -m "[feat] 사용자 로그인 기능 추가"
-m없이 → vim 에디터 열림 (초보자 피하기!)
유용한 옵션:
-a:git add생략하고 Tracked 파일만 자동 추가+커밋git commit -a -m "[fix] 오타 수정"--amend: 마지막 커밋 수정 (메시지/파일 추가)git commit --amend -m "새 메시지"
실무 꿀팁
Conventional Commits 지키기 -> 팀원들이 좋아함
feat: 새 기능
fix: 버그 수정
docs: 문서 변경
refactor: 코드 구조 개선
- 예시
git commit -m "[feat]: 튕겨지는 버그 수정
- 자동 로그인 시 튕겨지는 케이스
- 아이템 먹을 시 튕켜지는 케이스
"
5. git log : 지난 커밋 히스토리를 확인
핵심 용도: 커밋 기록 확인. 누가 언제 뭐 했는지 추적.
언제 사용하는지
- 이전 버전 찾을 때
- 버그 원인 분석
- 코드 망가뜨린 범인 찾기 (잡았다 요놈!!!)
상세 설명
git log
출력 예시

유용한 옵션:
--oneline: 커밋 기록을 한 줄 요약--graph --all: 브랜치 시각화git log --graph --all --oneline--author="공덕배": 특정인만-p: 변경된 코드 diff 보기-n 5: 최근 5개만
6. git remote add origin URL : 로컬저장소와 Github 연동
핵심 용도: 로컬 저장소에 원격 저장소(Github) 연결. 한 번만 실행.
언제 사용하느지?
- 첫 푸시 전
- 새 원격 추가 (backup 용도)
상세 설명 & 옵션
git remote add origin https://github.com/아이디/my-project.git
# 확인: git remote -v
유용한 옵션:
set-url: URL 변경git remote set-url origin 새URLremove: 연결 해제
실무 꿀팁
SSH 추천 (비밀번호 NO):
git remote set-url origin git@github.com:아이디/my-project.git
키 생성: Github SSH 가이드
7. git push : 로컬 커밋을 Github로 업로드
핵심 용도: 로컬 커밋을 원격 저장소로 업로드. 팀 공유 시작.
언제 사용하는지?
- 배포 전
상세 설명 & 옵션
git push origin main
# 첫 푸시: git push -u origin main (이후 git push만)
옵션:
--force-with-lease: 강제 푸시 (주의! 히스토리 덮어씀)--tags: 태그 푸시
실무 꿀팁
항상 git pull 먼저! → 충돌 방지
git pull --rebase origin main
8. git pull : 팀원 최신 코드 받아와 병합
핵심 용도: 원격 변경을 로컬로 다운로드 + 병합. fetch + merge.
언제 사용하는지?
- 아침 출근 후
- 팀원 코드 병합 후
상세 설명 & 옵션
git pull origin main
유요한 옵션:
--rebase: 깔끔한 선형 히스토리--no-ff: 강제 merge 커밋
실무 꿀팁
충돌 시:
- 충돌 파일 열기 →
<<<<<<< HEAD~>>>>>>>삭제 git add <파일>git rebase --continue
9. git branch feature/login : 새 기능은 새 브랜치에서
핵심 용도: 브랜치 생성. 기능/버그 분리.
언제 사용하는지?
- 새 기능 구현 시
상세 설명 & 옵션
git branch feature/login
# 생성+이동: git checkout -b feature/login
10. git checkout feature/login : 브랜치 이동으로 컨텍스트 스위치
핵심 용도: 브랜치/커밋 간 이동.
언제 사용하는지
- 다른 기능 구현 시
- 이전 버전 테스트
상세 설명 & 옵션
git checkout main
# Git 2.23+: git switch main
옵션:
-b: 새 브랜치 생성하며 이동<commit-hash>: 과거로 이동
실무 꿀팁git checkout - → 이전 브랜치 (Ctrl+Z 느낌)
상황별 전체 워크플로우 정리
# 새 프로젝트
mkdir app && cd app
git init
git add --all
git commit -m "init"
git remote add origin URL
git push -u origin main
# 기능 개발
git checkout -b feature/new
# 코딩...
git add --all
git commit -m "feat: 새 기능"
git push origin feature/new
오늘은 전반적으로 기초적으로 많이 쓰이는 git 명령어들을 정리해보았습니다.
다음부터는 프로젝트 관리할 때 생길 수 있는 문제 상황들을 어떻게 git으로 대처하는지 작성해보도록 하겠습니다.
긴 글 읽어주셔서 감사합니다.
'SW 개발 지식 > Git' 카테고리의 다른 글
| [Git] 기초 실습 정리 (원격저장소 Github) (0) | 2025.10.27 |
|---|---|
| [Git] 기초 실습 정리 (로컬저장소) (0) | 2025.10.19 |
| [Git] Git 설치법: Window, Linux(Ubuntu), Mac (0) | 2025.10.19 |