분류 Git

GitHub Cheat Sheet

컨텐츠 정보

  • 조회 448 (작성일 )

본문

Git 설치하기 


GitHub은 일반적으로 많이 사용되는 저장소 관련 작업을 위한 데스크톱 클라이언트와 함께, 더 복잡한 작업을 위해 자동으로 업데이트 되는 Git command line 에디션을 제공합니다.


Windows 사용자를 위한 GitHub 


https://windows.github.com/ 


Mac 사용자를 위한 GitHub 


https://mac.github.com/ 


리눅스와 POSIX 운영체제를 위한 Git 배포 버전은 Git의 공식 웹사이트인 Git SCM에서 확인하실 수 있습니다.


모든 플랫폼을 위한 Git 


https://git-scm.com/ 


환경 설정 


모든 로컬 저장소에 적용할 사용자 정보를 설정합니다


$ git config --global user.name "[name]" 


자신이 생성한 커밋(commit)에 들어갈 이름을 설정합니다


$ git config --global user.email "[email address]" 


자신이 생성한 커밋에 들어갈 이메일 주소를 설정합니다


저장소 생성하기 


새로운 저장소를 만들거나, 다른 저장소의 URL을 이용해 저장소를 복사합니다


$ git init [project-name] 


새로운 로컬 저장소를 생성하고 이름을 정합니다.


$ git clone [url] 


기존 프로젝트의 모든 커밋 내역을 가져와 저장소를 만듭니다


파일 이름 바꾸기 


버전 관리 중인 파일을 옮기거나 삭제합니다


$ git rm [file] 


워킹 디렉토리에 있는 파일을 제거하고 삭제한 내역을 stage합니다


$ git rm --cached [file] 


현재 파일은 그대로 두고 버전 관리 체계에서만 제거합니다


$ git mv [file-original] [file-renamed] 


파일명을 변경하고 해당 내역을 stage합니다


특정 파일을 저장소에서 제외하기 


임시 파일과 경로를 제외 시킵니다


*.log
build/
temp-*


.gitignore이라는 텍스트 파일에 제외할 문자열 패턴을 지정하여 실수로 엉뚱한 파일이나 경로가 저장되지 않게 방지할 수 있습니다


$ git ls-files --others --ignored --exclude-standard 


이 프로젝트에서 제외된 모든 파일을 보여줍니다


변경점 일부분을 저장하기 


불완전한 변경 사항을 임시로 저장하거나 복원합니다


$ git stash 


버전 관리 중인 모든 파일의 변경점을 임시로 저장합니다


$ git stash pop 


가장 최근에 임시 저장한 내용을 복원합니다


$ git stash list 


임시 저장된 모든 변경점의 목록을 보여줍니다


$ git stash drop 


가장 최근에 임시 저장한 내용을 지웁니다


변경점을 저장하기 


수정 사항을 검토하고 커밋을 생성합니다


$ git status 


커밋할 수 있는 새로운 파일과 수정된 파일의 목록을 보여줍니다


$ git diff 


수정하였으나 아직 stage하지 않은 파일의 변경점을 보여줍니다


$ git add [file] 


커밋을 준비하기 위해 파일을 stage합니다


$ git diff --staged 


stage하였으나 아직 커밋하지 않은 파일과 가장 최근에 커밋한 파일을 비교합니다


$ git reset [file] 


파일의 내용은 유지한 채로 stage한 내역만을 제거합니다


$ git commit -m"[descriptive message]" 


stage한 내용을 커밋으로 영구히 저장합니다


변경점을 묶어 관리하기 


일련의 커밋에 이름을 붙이고 여러 변경점을 합칩니다


$ git branch 


현재 저장소의 모든 로컬 브랜치를 보여줍니다


$ git branch [branch-name] 


새로운 브랜치를 생성합니다


$ git checkout [branch-name] 


특정 브랜치로 전환하고 워킹 디렉토리를 업데이트합니다


$ git merge [branch-name] 


현재 브랜치에 특정 브랜치의 히스토리를 병합 시킵니다


$ git branch -d [branch-name] 


브랜치를 삭제합니다


변경 기록 검토 


프로젝트 내 파일의 변경 기록을 살펴보고 검토합니다


$ 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 


북마크된 원격 브랜치의 기록을 다운로드하여 변경점을 병합합니다


ref. https://training.github.com/downloads/ko/github-git-cheat-sheet/