본문 바로가기
Git & Github

Git 필수 명령어 설명

by 헬로제이콥 2024. 8. 20.

 

Git은 버전 관리 시스템으로, 소프트웨어 개발 과정에서 코드 변경 이력을 관리하고 협업을 효율적으로 지원합니다. 아래는 Git을 사용하며 자주 사용하는 필수 명령어들을 설명과 함께 정리한 것입니다.

 

저장소 관리 및 초기 설정

  • git init: 현재 디렉토리를 Git 저장소로 초기화합니다.
  • git clone <URL>: 원격 저장소를 로컬로 복제합니다.
  • git remote add <이름> <URL>: 원격 저장소를 추가합니다.
  • git remote -v: 추가된 원격 저장소 목록을 확인합니다.

파일 상태 확인 및 변경

  • git status: 현재 작업 디렉토리와 스테이징 영역의 상태를 확인합니다.
  • git diff: 작업 디렉토리의 변경 사항을 확인하거나, 두 커밋 간의 차이를 확인합니다.
  • git add <파일>: 파일을 스테이징 영역에 추가합니다.
  • git add .: 모든 변경된 파일을 스테이징 영역에 추가합니다.

커밋 생성 및 관리

  • git commit -m "커밋 메시지": 스테이징 영역의 변경 사항을 커밋합니다.
  • git log: 커밋 히스토리를 확인합니다.
  • git log --oneline: 커밋 히스토리를 간략하게 한 줄로 표시합니다.
  • git show <커밋 해시>: 특정 커밋의 내용을 상세히 보여줍니다.

브랜치 관리

  • git branch: 현재 브랜치를 확인하고, 새로운 브랜치를 생성합니다.
  • git checkout <브랜치명>: 특정 브랜치로 이동합니다.
  • git merge <브랜치명>: 다른 브랜치를 현재 브랜치에 병합합니다.
  • git rebase <브랜치명>: 현재 브랜치의 커밋을 다른 브랜치 위에 쌓아 올립니다.

원격 저장소와의 동기화

  • git push <원격 저장소> <브랜치>: 로컬 브랜치를 원격 저장소로 보냅니다.
  • git pull <원격 저장소> <브랜치>: 원격 저장소의 변경 사항을 가져와 로컬 브랜치에 병합합니다.

기타 유용한 명령어

  • git reset HEAD <파일>: 스테이징 영역에서 파일을 제거합니다.
  • git revert <커밋 해시>: 특정 커밋의 변경 사항을 반대로 적용합니다.
  • git tag <태그명>: 특정 커밋에 태그를 달아 쉽게 찾을 수 있도록 합니다.
  • git stash: 현재 작업 중인 내용을 임시 저장합니다.
  • git stash pop: 임시 저장된 내용을 복원합니다.

예시

Bash
# 새로운 Git 저장소 초기화
git init

# 파일 추가 및 커밋
git add myfile.txt
git commit -m "새로운 파일 추가"

# master 브랜치에서 feature 브랜치 생성 및 이동
git branch feature
git checkout feature

# feature 브랜치에서 작업 후 master 브랜치에 병합
# ... 작업 ...
git checkout master
git merge feature
 
 

팁:

  • 커밋 메시지: 명확하고 간결하게 작성하여 나중에 히스토리를 확인하기 쉽도록 합니다.
  • 정기적인 커밋: 자주 커밋하여 작업 내용을 안전하게 보관하고, 문제 발생 시 빠르게 복구할 수 있도록 합니다.
  • 브랜치 활용: 기능 개발이나 버그 수정 시 새로운 브랜치를 생성하여 작업하고, 완료 후에 메인 브랜치에 병합하세요.