Tools/Git

Git 명령어 요약 정리 (Cheat sheet)

Data Engineer 2019. 7. 25. 17:06

git은 오늘날 가장 많이 사용하는 버전 관리 시스템 중 하나입니다.
오늘은 git의 자주 사용하는 명령어에 대해서 살펴보고자 합니다.

먼저 각 명령어에 따른 흐름이 어떻게 변하는지 다음 그림을 통해 알 수 있습니다.


이미지 출처 : https://jrebel.com/rebellabs/git-commands-and-best-practices-cheat-sheet/

생성하기

  • 새로운 로컬 저장소를 생성하기

      $ git init [project_name]
  • 저장소 가져오기

      $ git clone [url]

살펴보기

  • 작업 디렉토리에 변경된 파일 보기

    $ git status
  • 변경된 staged 파일 보기

    $ git diff
  • 변경 이력 보기

    $ git log

브랜치 작업하기

  • 로컬 브랜치 보기

    $ git branch
  • 로컬과 원격 브랜치 보기

    $ git branch -av
  • 브랜치 변경하기

    $ git checkout <branch>
  • 브랜치 생성하기

    $ git branch <new-branch>
  • 브랜치 삭제하기

    $ git branch -d <branch>
  • 원격 브랜치를 추적하는 새로운 브랜치 만들기

    $ git checkout --track <remote/branch>
  • 원격 브랜치 추적하기

    $ git branch -u <remote/branch>
  • 현재 커밋에 태그 달기

    $ git tag <tag-name>

변경하기

  • 파일의 변경 사항을 다음 커밋에 반영하기

    $ git add [file]
  • 모든 변경 사항을 다음 커밋에 반영하기

    $ git add .
  • 메시지와 함께 커밋하기

    $ git commit -m "commit message"
  • 모든 변경 사항을 반영하면서 커밋하기

    $ git commit -a
  • 마지막 커밋 수정하기(published commit에는 하지 말 것!)

    $ git commit --amend

취소하기

  • 작업 디렉토리에 모든 변경 버리기

    $ git reset --hard HEAD
  • 커밋 되돌아가기

    $ git revert <commit>

동기화하기

  • 원격 저장소의 변경사항 가져오기

    $ git fetch <remote>
  • 원격 저장소의 변경사항을 가져오고 머지하기

    $ git pull <remote> <branch>
  • 원격 저장소의 변경사항을 가져오고 리베이스하기

    $ git pull --rebase
  • 원격 저장소에 변경사항 발행하기

    $ git push
  • 원격 저장소에 태그 발행하기

    $ git push --tags

병합하기와 리베이스하기

  • 병합하기

    $ git merge <branch>
  • 리베이스하기

    $ git rebase <branch>

변경사항 저장하고 복원하기

  • 임시로 변경사항 저장하기

    $ git stash
  • 임시 변경사항 복원하기

    $ git stash pop
  • 임시 변경사항 보기

    $ git stash list

References