Git - 명령어

김기훈·2025년 10월 28일

Search

목록 보기
6/9

1. 초기 설정 및 저장소 관리

명령어설명예시
git init현재 폴더를 Git 저장소로 초기화 (.git 폴더 생성)git init
git clone <URL>원격 저장소를 복제 (GitHub 등에서 가져올 때)git clone https://github.com/user/repo.git
git remote -v연결된 원격 저장소 확인git remote -v
git remote add origin <URL>원격 저장소 연결git remote add origin https://github.com/user/repo.git
  • git clone -b <브랜치이름> <저장소URL> : 특정 브랜치를 바로 클론하기


2. 변경사항 추적 (스테이징 / 커밋)

명령어설명예시
git status변경된 파일 확인git status
git add <파일명>특정 파일 스테이징git add app/main.py
git add .모든 변경사항 스테이징git add .
git commit -m "메시지"스테이징된 파일 커밋git commit -m "feat: 회원가입 기능 추가"
git log커밋 기록 보기git log --oneline
git diff수정된 부분 비교git diff app/main.py

3. 브랜치 관리

명령어설명예시
git branch브랜치 목록 확인git branch
git branch <브랜치명>새 브랜치 생성git branch feature/login
git checkout <브랜치명>브랜치 이동git checkout develop
git switch <브랜치명>브랜치 이동 (새로운 방식)git switch feature/login
git switch -c <브랜치명>새 브랜치 생성 + 이동git switch -c feature/login
git merge <브랜치명>다른 브랜치를 현재 브랜치에 병합git merge feature/login
git branch -d <브랜치명>브랜치 삭제git branch -d feature/login

4. 원격 저장소 (push / pull)

명령어설명예시
git push origin <브랜치명>원격 저장소에 푸시git push origin feature/login
git pull origin <브랜치명>원격 저장소의 변경사항 가져오기git pull origin develop
git fetch원격의 최신 상태 가져오기 (병합은 안 함)git fetch
git push -u origin <브랜치명>새 브랜치 최초 푸시 및 연결git push -u origin feature/login
  • git fetch origin : 원격 최신 상태 동기화


5. 변경사항 취소 / 복구

명령어설명예시
git restore <파일명>수정한 파일을 최근 커밋 상태로 되돌림git restore app/config.py
git restore --staged <파일명>스테이징을 취소git restore --staged app/config.py
git reset --hard HEAD최근 커밋 상태로 전체 되돌림⚠️ 주의: 모든 수정 삭제
git revert <커밋ID>특정 커밋을 되돌리는 새로운 커밋 생성git revert 9f2a8c3

6. 임시저장 (stash)

명령어설명예시
git stash현재 작업을 임시 저장 (스테이징 포함)git stash
git stash list임시저장 목록 확인git stash list
git stash apply가장 최근 stash 복구git stash apply
git stash drop특정 stash 삭제git stash drop stash@{0}

7. 협업에 유용한 명령어

명령어설명예시
git pull --rebaserebase 방식으로 최신 내용 가져오기git pull --rebase origin develop
git merge --no-ff병합 커밋을 명시적으로 생성git merge --no-ff feature/login
git cherry-pick <커밋ID>특정 커밋만 현재 브랜치에 적용git cherry-pick 8e4d12a
git tag <태그명>버전 태그 생성git tag v1.0.0

  • 내가 수정한 부분이 없으면 → 자동으로 최신 내용으로 업데이트
  • 내가 수정한 부분이 있으면 → 충돌(conflict) 발생
    • 안전하게 pull 하기

8. 로그 보기/히스토리 추적

명령어설명예시
git log --oneline --graph --all브랜치 흐름을 그래프로 표시git log --oneline --graph --all
git show <커밋ID>특정 커밋 상세 보기git show 4d3f7b2
git blame <파일명>각 줄이 어떤 커밋에서 수정되었는지 확인git blame app/models/user.py

9. 설정 관련

명령어설명예시
git config --global user.name "이름"사용자 이름 설정git config --global user.name "Kihoon"
git config --global user.email "이메일"사용자 이메일 설정git config --global user.email "test@gmail.com"
git config --list현재 설정 확인git config --list

---

profile
안녕하세요.

0개의 댓글