Skip to content

부록 2. Git 명령과 옵션 일람 ​

관련 차시: 2차시 로컬 저장소 · 3차시 커밋 · 4차시 이력 수정 · 5차시 원격 연동

수업에서 쓰는 Git 명령을 필수, 참고, 실행하지 않는 명령으로 나눕니다. 처음에는 필수만 사용하고, 참고는 해당 차시를 마친 뒤 강사 설명과 함께 실행합니다. 같은 명령이라도 옵션에 따라 되돌릴 수 있는 범위가 달라지므로, 모르는 옵션은 먼저 git status와 git diff로 현재 상태를 확인합니다.

왜 필요한가 ​

git commit은 -m이 있으면 한 줄 메시지로 끝나지만, 없으면 vi 편집기가 열립니다. git push는 처음 한 번 -u를 붙여야 다음부터 브랜치 이름을 줄일 수 있습니다. git add .는 편리하지만 의도하지 않은 파일까지 담을 수 있습니다. 이런 차이를 알고 있어야 초보자가 명령을 외우는 대신 상황에 맞게 고를 수 있습니다. 반대로 reset --hard, push --force처럼 작업을 잃을 수 있는 옵션은 수업에서 사용하지 않습니다.

핵심 개념 ​

  • 작업 공간의 변경은 git status와 git diff로, stage된 변경은 git diff --cached로 확인합니다.
  • -m은 커밋 메시지를 인라인으로 넣고, -u는 첫 push에서 업스트림을 연결합니다.
  • -a는 이미 추적 중인 파일의 변경만 담습니다. 새 파일은 git add가 필요합니다.
  • --oneline, --graph, --all은 이력을 읽기 쉽게 만듭니다.
  • --amend는 공유 전 최근 커밋을 고치고, --abort는 진행 중인 병합을 취소합니다.
  • --hard, --force, -D, -fd는 되돌리기 어려운 작업을 만듭니다.

필수 명령 ​

명령의미와 사용 상황
git status현재 변경과 stage 상태 확인
git diff작업 파일 변경 확인
git add 파일명다음 커밋에 넣을 파일 선택
git commit -m "메시지"선택한 변경을 기록
git commit -am "메시지"이미 추적 중인 파일의 변경만 자동 stage 후 커밋. 새 파일은 담지 않음
git log --oneline짧은 커밋 이력 확인
git log --graph --oneline --all브랜치 흐름 확인
git push로컬 커밋을 원격에 보냄
git pull origin main원격 변경을 로컬에 통합
git switch -c 이름새 브랜치 생성과 이동
git restore --staged 파일명stage 해제, 작업 파일 보존
git init빈 폴더를 Git 저장소로 초기화
git config --global user.name "이름"커밋 작성자 이름 등록
git config --global user.email "이메일"커밋 작성자 이메일 등록
git remote add origin 주소원격 저장소 주소 등록
git remote -v등록된 원격 주소 확인
git push -u origin main첫 업로드와 업스트림 설정

참고 명령 ​

명령의미와 사용 상황
git diff --cachedstage된 변경 확인
git log -n 3최근 3개 커밋 확인
git log --stat파일별 변경 통계 확인
git merge --no-ffmerge 커밋을 남기는 병합
git tag -a v1.0.0 -m "메시지"작성자와 설명이 포함된 주석 태그 생성
git tag v0.1.0가벼운 태그 생성
git branch -d 이름병합 완료된 브랜치 삭제
git config --local user.name "이름"이 저장소에만 작성자 이름 등록
git clone 주소원격 저장소를 별도 폴더에 복제
git revert HEAD공유 후 커밋을 안전하게 되돌림
git merge --abort진행 중인 병합 취소
git checkout 브랜치명브랜치 전환(과거 명령)
git add .현재 폴더의 모든 변경을 stage
git status --short변경 상태를 짧게 표시
git log --decorate브랜치와 태그 이름을 함께 표시
git diff --stagedstage된 변경 확인(--cached와 같음)

실행하지 않는 명령 ​

명령위험대신 쓰는 방법
git reset --hard추적 파일 변경 유실 가능git revert로 커밋을 되돌리고, 작업 파일은 커밋 전 백업에서 복구
git push --force원격 이력 덮어쓰기 위험git pull 후 일반 git push
git clean -fd추적되지 않은 파일 삭제git status로 확인하고 필요한 파일만 직접 정리
git branch -D 이름병합 여부와 관계없이 브랜치 강제 삭제병합 후 git branch -d 이름

차시별로 다시 보기 ​

  • 1–2차시: git --version, git config, git init, git status, git add → 1차시 · 2차시
  • 3차시: git commit, git log, git reset <파일명> → 3차시
  • 4차시: git commit --amend, git revert, .gitignore → 4차시
  • 5차시: git remote, git push, git pull, git clone → 5차시
  • 6차시: Pages 배포와 갱신 → 6차시
  • 10차시: git branch, git switch, git tag → 10차시
  • 11차시: git merge, 충돌 해결, git log --graph → 11차시
  • 12차시: 브랜치 push와 Pull Request → 12차시

주의 ​

  • USER, REPO, ISSUE_NUMBER 같은 자리표시자는 실제 값으로 바꿉니다.
  • 공백이 있는 경로는 따옴표로 감쌉니다.
  • 토큰을 URL, 명령, 파일, AI 대화에 넣지 않습니다.
  • 오류가 난 뒤에는 다음 명령을 연속 실행하지 말고 git status로 상태를 확인합니다.