이전 글목록 보기다음 글
git2026-04-23T07:37:20.206Z

Git 주요 명령어 안내

Anya2_Forger profileAnya2_Forger
edited-Git-logo.png

Git 완벽 가이드

Git은 분산 버전 관리 시스템으로, 코드의 변경 이력을 추적하고 협업을 용이하게 합니다. 이 가이드에서는 실무에서 자주 사용하는 Git 명령어들을 단계별로 설명합니다.

1. Git 초기 설정

Git을 처음 설치한 후 사용자 정보를 설정해야 합니다.

# 사용자 이름 설정
git config --global user.name "Your Name"

# 이메일 설정
git config --global user.email "your.email@example.com"

# 설정 확인
git config --list

2. 저장소 생성 및 복제

새 저장소 생성

# 현재 디렉토리를 Git 저장소로 초기화
git init

# 특정 디렉토리를 Git 저장소로 초기화
git init project-name

기존 저장소 복제

# 원격 저장소 복제
git clone https://github.com/username/repository.git

# 특정 브랜치만 복제
git clone -b branch-name https://github.com/username/repository.git

3. 기본 작업 흐름

파일 상태 확인

# 작업 디렉토리 상태 확인
git status

# 간단한 형식으로 상태 확인
git status -s

파일 추가 (Staging)

# 특정 파일 추가
git add filename.txt

# 모든 변경된 파일 추가
git add .

# 특정 패턴의 파일 추가
git add *.js

변경사항 커밋

# 커밋 메시지와 함께 커밋
git commit -m "커밋 메시지"

# 추가와 커밋을 동시에 (이미 추적 중인 파일만)
git commit -am "커밋 메시지"

# 상세한 커밋 메시지 작성 (에디터 열림)
git commit

4. 변경 이력 확인

# 커밋 로그 확인
git log

# 한 줄로 간단하게 보기
git log --oneline

# 그래프 형태로 보기
git log --graph --oneline --all

# 특정 파일의 이력 보기
git log filename.txt

# 최근 n개의 커밋만 보기
git log -n 5

변경사항 비교

# 작업 디렉토리와 스테이징 영역 비교
git diff

# 스테이징 영역과 최근 커밋 비교
git diff --staged

# 두 커밋 간 비교
git diff commit1 commit2

5. 브랜치 관리

브랜치 생성 및 이동

# 브랜치 목록 확인
git branch

# 새 브랜치 생성
git branch feature-name

# 브랜치로 이동
git checkout feature-name

# 브랜치 생성과 동시에 이동
git checkout -b feature-name

# 최신 방식 (Git 2.23+)
git switch feature-name
git switch -c feature-name  # 생성과 동시에 이동

브랜치 병합

# 현재 브랜치에 다른 브랜치 병합
git merge feature-name

# Fast-forward 없이 병합 (병합 커밋 생성)
git merge --no-ff feature-name

브랜치 삭제

# 로컬 브랜치 삭제
git branch -d feature-name

# 강제 삭제
git branch -D feature-name

# 원격 브랜치 삭제
git push origin --delete feature-name

6. 원격 저장소 작업

원격 저장소 관리

# 원격 저장소 확인
git remote -v

# 원격 저장소 추가
git remote add origin https://github.com/username/repository.git

# 원격 저장소 제거
git remote remove origin

Push & Pull

# 원격 저장소로 푸시
git push origin main

# 처음 푸시 시 업스트림 설정
git push -u origin main

# 원격 저장소에서 가져오기 (병합 포함)
git pull origin main

# 원격 저장소 변경사항만 가져오기 (병합 없음)
git fetch origin

7. 변경사항 되돌리기

작업 디렉토리 변경 취소

# 특정 파일의 변경사항 취소
git checkout -- filename.txt

# 최신 방식
git restore filename.txt

# 모든 변경사항 취소
git restore .

스테이징 취소

# 특정 파일의 스테이징 취소
git reset HEAD filename.txt

# 최신 방식
git restore --staged filename.txt

커밋 되돌리기

# 마지막 커밋 취소 (변경사항은 유지)
git reset --soft HEAD~1

# 마지막 커밋 취소 (변경사항은 스테이징 해제)
git reset HEAD~1

# 마지막 커밋 취소 (변경사항 완전 삭제)
git reset --hard HEAD~1

# 특정 커밋으로 되돌리기 (새 커밋 생성)
git revert commit-hash

8. Stash (임시 저장)

# 현재 변경사항 임시 저장
git stash

# 메시지와 함께 저장
git stash save "작업 중인 내용"

# stash 목록 확인
git stash list

# 가장 최근 stash 적용
git stash apply

# 가장 최근 stash 적용 후 삭제
git stash pop

# 특정 stash 적용
git stash apply stash@{0}

# stash 삭제
git stash drop stash@{0}

9. 태그 관리

# 태그 목록 확인
git tag

# 현재 커밋에 태그 생성
git tag v1.0.0

# 주석이 있는 태그 생성
git tag -a v1.0.0 -m "버전 1.0.0 릴리스"

# 특정 커밋에 태그 생성
git tag v1.0.0 commit-hash

# 원격 저장소에 태그 푸시
git push origin v1.0.0

# 모든 태그 푸시
git push origin --tags

# 태그 삭제
git tag -d v1.0.0
git push origin --delete v1.0.0

10. 고급 명령어

Rebase

# 현재 브랜치를 다른 브랜치 위로 재배치
git rebase main

# 대화형 rebase (최근 3개 커밋 수정)
git rebase -i HEAD~3

Cherry-pick

# 특정 커밋만 현재 브랜치에 적용
git cherry-pick commit-hash

파일 무시하기

# .gitignore 파일 생성 및 편집
echo "node_modules/" >> .gitignore
echo "*.log" >> .gitignore

11. 유용한 팁

커밋 메시지 수정

# 마지막 커밋 메시지 수정
git commit --amend -m "새로운 커밋 메시지"

# 마지막 커밋에 파일 추가
git add forgotten-file.txt
git commit --amend --no-edit

특정 파일의 변경 이력 추적

# 파일의 각 줄이 누구에 의해 언제 수정되었는지 확인
git blame filename.txt

변경사항 임시 보관

# 특정 파일만 커밋하고 나머지는 나중에
git add specific-file.txt
git commit -m "특정 파일만 커밋"

이 가이드는 Git의 핵심 명령어들을 다루고 있습니다. 실제 프로젝트에서는 상황에 맞게 명령어를 조합하여 사용하면 됩니다. 궁금한 명령어가 있거나 특정 시나리오에 대한 설명이 필요하면 언제든 물어보세요!

Comments

Log in to comment

Loading comments...
이전 글목록 보기다음 글

당신의 이야기를 기다리고 있습니다