[Git] git 치트시트
툴 환경 설정하기
모든 로컬 저장소를 위한 사용자 정보 설정하기
$ git config --global user.name "[name]"
유저의 커밋(commit) 기록에 부여되는 원하는 이름을 설정합니다
$ git config --global user.email "[email address]"
유저의 커밋 기록에 부여되는 원하는 이메일을 설정합니다
저장소 생성하기
새로운 저장소를 시작하거나 혹은 기존의 URL로부터 저장소를 획득합니다
$ git init [project-name]
특정 이름으로 새로운 로컬 저장소를 생성합니다.
$ git clone [url]
프로젝트와 프로젝트의 버전 기록 전체를 다운로드 합니다.
변경하기
수정 사항을 리뷰하고 커밋 기록을 생성합니다
$ git status
커밋 대상의 모든 새로운 파일 혹은 수정된 파일 리스트를 보여줍니다
$ git diff
아직 Staged 되지 않은 파일의 차이점을 보여줍니다
$ git add [file]
버저닝(versioning) 준비를 위해 파일을 일시적으로 저장(snapshot)합니다
$ git diff --staged
곧 커밋할 것이라고 표시(staging)한 것과 가장 최근 파일 버전 간의 차이점을 보여줍니다
$ git reset [file]
파일을 언스테이지(unstage) 상태로 변경시키나 파일 컨텐츠는 그대로 보존합니다
$ git commit -m"[descriptive message]"
버전 히스토리에 파일 스냅샷을 영원히 기록합니다
그룹 변경하기
커밋 시리즈의 이름을 설정하고 결과물을 결합시킵니다
$ git branch
현재 저장소 안의 모든 로컬 브랜치 리스트를 보여줍니다
$ git branch [branch-name]
새로운 브랜치를 생성합니다
$ git checkout [branch-name]
특정 브랜치로 전환하고 워킹 디렉토리를 업데이트합니다
$ git merge [branch-name]
현재 브랜치에 특정 브랜치의 히스토리를 결합시킵니다
$ git branch -d [branch-name]
특정 브랜치를 삭제합니다
파일 이름 단장하기(refactor)
버전이 부여된 파일들을 재배치하고 제거합니다
$ git rm [file]
워킹 디렉토리로부터 파일을 제거하고 삭제를 Stage 합니다
$ git rm --cached [file]
버전 관리로부터는 파일을 제거하나 로컬에서는 파일을 보존합니다
$ git mv [file-original] [file-renamed]
파일명을 변경하고 커밋을 준비합니다
트랙킹 숨기기
임시 파일과 경로를 제외시킵니다
*.log build/ temp-*
.gitignore이름의 텍스트 파일은 특정 패턴으로 매칭되는 우연히 버저닝된 파일과 경로를 숨깁니다
$ git ls-files --others --ignored --exclude-standard
해당 프로젝트에서 무시된 모든 파일 리스트를 보여줍니다
조각 저장하기
불완전한 변경 사항을 보류하고 복원 시킵니다
$ git stash
임시로 모든 수정된 트래킹된 파일들을 저장합니다
$ git stash pop
가장 최근에 숨겨진 파일을 복원합니다
$ git stash list
모든 숨겨진 변경 사항들의 리스트를 보여줍니다
$ git stash drop
가장 최근에 숨겨진 변경 사항을 버립니다
히스토리 리뷰
프로젝트 파일이 진행된 사항을 살펴보고 점검합니다
$ git log
현재 브랜치의 버전 히스토리 리스트를 보여줍니다
$ git log
현재 브랜치의 버전 히스토리 리스트를 보여줍니다
$ git log --follow [file]
이름 재설정을 포함한 파일의 버전 히스토리 리스트를 보여줍니다
$ git diff [first-branch]...[second-branch]
두 브랜치 간의 컨텐츠 차이점을 보여줍니다
$ git show [commit]
메타 데이터와 특정 커밋의 컨텐츠 변경 사항을 출력합니다
커밋 되돌리기
실수한 내용을 지우고 대체 히스토리를 생성합니다.
$ git reset [commit]
로컬에 변경사항을 보존한 채로 ‘[커밋]’ 이 후의 모든 커밋을 되돌립니다
$ git reset --hard [commit]
모든 히스토리와 변경사항을 버리고 특정 커밋으로 되돌립니다
변경사항 연동하기
원격(URL)을 등록하고 저장소 기록을 주고 받습니다
$ git fetch [remote]
원격 저장소로부터 모든 히스토리를 다운로드합니다
$ git merge [remote]/[branch]
원격 브랜치를 현재의 로컬 브랜치와 결합합니다
$ git push [remote] [branch]
GitHub에 모든 로컬 브랜치 커밋을 업로드합니다
$ git pull
북마크 기록을 다운로드하고 변경 사항을 포함합니다
출처 : https://services.github.com/on-demand/downloads/kr/github-git-cheat-sheet/