Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 52 additions & 52 deletions downloads/kr/github-git-cheat-sheet.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,49 @@
layout: cheat-sheet
redirect_to: false
title: GitHub Git Cheat Sheet
byline: Git은 여러분의 노트북이나 데스크톱에서 GitHub을 사용할 수 있도록 해주는 오픈 소스 분산 버전 관리 시스템입니다. 해당 Cheat Sheet에서는 사용자가 빠르게 참고할 수 있도록 주로 사용되는 Git의 명령행(command line)을 간단히 요약하였습니다.
byline: Git은 여러분의 노트북이나 데스크톱에서 GitHub을 사용할 수 있도록 해주는 오픈 소스 분산 버전 관리 시스템입니다. Cheat Sheet는 자주 쓰이는 Git 명령을 쉽게 찾아볼 수 있게 정리하여 보여줍니다.
leadingpath: ../../../
---

{% capture colOne %}
## Git 설치하기
GitHub은 가장 일반적인 저장소(repository)와 관련된 활동과 발전적 시나리오를 염두한 Git의 자동 갱신형 커맨드 라인 에디션을 위해 그래픽 사용자 인터페이스를 포함한 데스크톱 클라이언트를 제공합니다
GitHub은 일반적으로 많이 사용되는 저장소 관련 작업을 위한 데스크톱 클라이언트와 함께, 더 복잡한 작업을 위해 자동으로 업데이트되는 Git command line 에디션을 제공합니다.

### Windows 사용자를 위한 GitHub
http://windows.github.com

### Mac 사용자를 위한 GitHub
http://mac.github.com

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

### 모든 플랫폼을 위한 Git
http://git-scm.com

## 환경 설정하기
모든 로컬 저장소를 위한 사용자 정보 설정하기
## 환경 설정
모든 로컬 저장소에 적용할 사용자 정보를 설정합니다

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

유저의 커밋(commit) 기록에 부여되는 원하는 이름을 설정합니다
자신이 생성한 커밋(commit)에 들어갈 이름을 설정합니다

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

유저의 커밋 기록에 부여되는 원하는 이메일을 설정합니다
자신이 생성한 커밋에 들어갈 이메일 주소를 설정합니다


## 저장소 생성하기
새로운 저장소를 시작하거나 혹은 기존의 URL로부터 저장소를 획득합니다
새로운 저장소를 만들거나, 다른 저장소의 URL을 이용해 저장소를 복사합니다


```$ git init [project-name]```

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


```$ git clone [url]```

프로젝트와 프로젝트의 버전 기록 전체를 다운로드 합니다.
기존 프로젝트의 모든 커밋 내역을 가져와 저장소를 만듭니다

{% endcapture %}
<div class="col-md-6">
Expand All @@ -54,45 +54,45 @@ http://git-scm.com

{% capture colTwo %}

## 변경하기
수정 사항을 리뷰하고 커밋 기록을 생성합니다
## 변경점을 저장하기
수정 사항을 검토하고 커밋을 생성합니다


```$ git status```

커밋 대상의 모든 새로운 파일 혹은 수정된 파일 리스트를 보여줍니다
커밋할 수 있는 새로운 파일과 수정된 파일의 목록을 보여줍니다

```$ git diff```

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


```$ git add [file]```

버저닝(versioning) 준비를 위해 파일을 일시적으로 저장(snapshot)합니다
커밋을 준비하기 위해 파일을 stage합니다


```$ git diff --staged```

곧 커밋할 것이라고 표시(staging)한 것과 가장 최근 파일 버전 간의 차이점을 보여줍니다
stage하였으나 아직 커밋하지 않은 파일과 가장 최근에 커밋한 파일을 비교합니다


```$ git reset [file]```

파일을 언스테이지(unstage) 상태로 변경시키나 파일 컨텐츠는 그대로 보존합니다
파일의 내용은 유지한 채로 stage한 내역만을 제거합니다


```$ git commit -m"[descriptive message]"```

버전 히스토리에 파일 스냅샷을 영원히 기록합니다
stage한 내용을 커밋으로 영구히 저장합니다

## 그룹 변경하기
커밋 시리즈의 이름을 설정하고 결과물을 결합시킵니다
## 변경점을 묶어 관리하기
일련의 커밋에 이름을 붙이고 여러 변경점을 합칩니다


```$ git branch```

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

```$ git branch [branch-name]```

Comment thread
son7211 marked this conversation as resolved.
Expand All @@ -106,12 +106,12 @@ http://git-scm.com

```$ git merge [branch-name]```

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


```$ git branch -d [branch-name]```

특정 브랜치를 삭제합니다
브랜치를 삭제합니다
{% endcapture %}
<div class="col-md-6">
{{ colTwo | markdownify }}
Expand All @@ -120,23 +120,23 @@ http://git-scm.com


{% capture colThree %}
## 파일 이름 단장하기(refactor)
버전이 부여된 파일들을 재배치하고 제거합니다
## 파일 이름 바꾸기
버전 관리 중인 파일을 옮기거나 삭제합니다

```$ git rm [file]```

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


```$ git rm --cached [file]```

버전 관리로부터는 파일을 제거하나 로컬에서는 파일을 보존합니다
현재 파일은 그대로 두고 버전 관리 체계에서만 제거합니다

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

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

## 트랙킹 숨기기
## 특정 파일을 저장소에서 제외하기
임시 파일과 경로를 제외시킵니다

```
Expand All @@ -145,90 +145,90 @@ build/
temp-*
```

`.gitignore`이름의 텍스트 파일은 특정 패턴으로 매칭되는 우연히 버저닝된 파일과 경로를 숨깁니다
`.gitignore`이라는 텍스트 파일에 제외할 문자열 패턴을 지정하여 실수로 엉뚱한 파일이나 경로가 저장되지 않게 방지할 수 있습니다


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

해당 프로젝트에서 무시된 모든 파일 리스트를 보여줍니다
프로젝트에서 제외된 모든 파일을 보여줍니다

## 조각 저장하기
불완전한 변경 사항을 보류하고 복원 시킵니다
## 변경점 일부분을 저장하기
불완전한 변경 사항을 임시로 저장하거나 복원합니다


```$ git stash```

임시로 모든 수정된 트래킹된 파일들을 저장합니다
버전 관리 중인 모든 파일의 변경점을 임시로 저장합니다


```$ git stash pop```

가장 최근에 숨겨진 파일을 복원합니다
가장 최근에 임시 저장한 내용을 복원합니다


```$ git stash list```

모든 숨겨진 변경 사항들의 리스트를 보여줍니다
임시 저장된 모든 변경점의 목록을 보여줍니다


```$ git stash drop```

가장 최근에 숨겨진 변경 사항을 버립니다
가장 최근에 임시 저장한 내용을 지웁니다
{% endcapture %}
<div class="col-md-6">
{{ colThree | markdownify }}
</div>

{% capture colFour %}
## 히스토리 리뷰
프로젝트 파일이 진행된 사항을 살펴보고 점검합니다
## 변경 기록 검토
프로젝트 내 파일의 변경 기록을 살펴보고 검토합니다


```$ git log```

현재 브랜치의 버전 히스토리 리스트를 보여줍니다
현재 브랜치의 변경 기록을 보여줍니다

```$ git log --follow [file]```

이름 재설정을 포함한 파일의 버전 히스토리 리스트를 보여줍니다
특정 파일의 변경 기록을 보여줍니다(파일명 변경 포함)

```$ git diff [first-branch]...[second-branch]```

브랜치 간의 컨텐츠 차이점을 보여줍니다
브랜치의 차이점을 비교합니다

```$ git show [commit]```

메타 데이터와 특정 커밋의 컨텐츠 변경 사항을 출력합니다
특정 커밋에 포함된 변경 사항과 메타데이터를 표시합니다

## 커밋 되돌리기
실수한 내용을 지우고 대체 히스토리를 생성합니다.
실수한 내용을 지우고 기록을 바꿉니다

```$ git reset [commit]```

로컬에 변경사항을 보존한 채로 '[커밋]' 이 후의 모든 커밋을 되돌립니다
현재 파일의 변경 사항은 그대로 두고 '[커밋]' 이후의 모든 커밋 내용을 되돌립니다

```$ git reset --hard [commit]```

모든 히스토리와 변경사항을 버리고 특정 커밋으로 되돌립니다
모든 변경점과 기록을 버리고 특정 커밋으로 되돌아갑니다

## 변경사항 연동하기
원격(URL)을 등록하고 저장소 기록을 주고 받습니다
## 변경점을 동기화하기
원격 저장소(의 URL)을 등록하고 저장소 기록을 주고받습니다

```$ git fetch [remote]```

원격 저장소로부터 모든 히스토리를 다운로드합니다
원격 저장소로부터 모든 기록을 받아옵니다

```$ git merge [remote]/[branch]```

원격 브랜치를 현재의 로컬 브랜치와 결합합니다
원격 브랜치를 현재 사용 중인 로컬 브랜치와 병합합니다

```$ git push [remote] [branch]```

GitHub에 모든 로컬 브랜치 커밋을 업로드합니다
모든 로컬 브랜치의 변경점을 GitHub에 업로드합니다

```$ git pull```

북마크 기록을 다운로드하고 변경 사항을 포함합니다
북마크된 원격 브랜치의 기록을 다운로드하여 변경점을 병합합니다
{% endcapture %}
<div class="col-md-6">
{{ colFour | markdownify }}
Expand Down