Git

[Git] git 치트시트

Rust Choi 2020. 4. 6. 15:27

툴 환경 설정하기

모든 로컬 저장소를 위한 사용자 정보 설정하기

$ 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/