| 양쪽 이전 판 이전 판 | |
| git:ko [2026/07/31 00:16] – 바깥 편집 127.0.0.1 | git:ko [2026/07/31 03:45] (현재) – 바깥 편집 127.0.0.1 |
|---|
| 이 페이지는 저장소 생성, 변경 기록, branch 관리, 이력 확인, 원격 동기화와 repository 관리 명령을 command별로 정리한다. | 이 페이지는 저장소 생성, 변경 기록, branch 관리, 이력 확인, 원격 동기화와 repository 관리 명령을 command별로 정리한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #22b14c>[<global-options>]</color> <color #ff7f27><command></color> <color #22b14c>[<command-options>]</color> <color #7092be>[<args>...]</color>'' | * ''<color #c3c3c3>**git**</color> <color #22b14c>[GLOBAL-OPTIONS]</color> <color #ff7f27>COMMAND</color> <color #22b14c>[COMMAND-OPTIONS]</color> <color #7092be>[ARGS...]</color>'' |
| * 전체 command 목록: ''git help -a'' | * 전체 command 목록: ''git help -a'' |
| * 특정 command 설명서: ''git help <command>'' | * 특정 command 설명서: ''git help COMMAND'' |
| * concept guide 목록: ''git help -g''. 입문·일상 작업·revision·workflow guide는 각각 ''git help tutorial'', ''git help everyday'', ''git help revisions'', ''git help workflows''로 연다. | * concept guide 목록: ''git help -g''. 입문·일상 작업·revision·workflow guide는 각각 ''git help tutorial'', ''git help everyday'', ''git help revisions'', ''git help workflows''로 연다. |
| |
| 작업 tree의 file 내용을 index(staging area)에 추가한다. | 작업 tree의 file 내용을 index(staging area)에 추가한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**add**</color> <color #22b14c>[<options>] [--]</color> <color #7092be><pathspec>...</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**add**</color> <color #22b14c>[OPTIONS] [--]</color> <color #7092be>PATHSPEC...</color>'' |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**status**</color>'': staging 전후 상태 확인 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**status**</color>'': staging 전후 상태 확인 |
| 문제를 처음 도입한 commit을 binary search로 찾는다. | 문제를 처음 도입한 commit을 binary search로 찾는다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**bisect**</color> <color #22b14c>[<options>]</color> <color #7092be><subcommand>...</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**bisect**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>SUBCOMMAND...</color>'' |
| |
| ==== branch ==== | ==== branch ==== |
| branch를 나열·생성·이름 변경·복사·삭제하고 upstream tracking 정보를 관리한다. ''git branch <new-branch>''는 branch만 만들며 작업 tree를 전환하지 않는다. | branch를 나열·생성·이름 변경·복사·삭제하고 upstream tracking 정보를 관리한다. ''git branch NEW-BRANCH''는 branch만 만들며 작업 tree를 전환하지 않는다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>[<options>]</color>'': local branch 목록 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>[OPTIONS]</color>'': local branch 목록 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #7092be><new-branch> [<start-point>]</color>'': ''start-point''(생략 시 ''HEAD'')에서 branch 생성 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #7092be>NEW-BRANCH [START-POINT]</color>'': ''START-POINT''(생략 시 ''HEAD'')에서 branch 생성 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>**-f**</color> <color #7092be><branch> <start-point></color>'': 기존 branch를 지정한 지점으로 강제 이동 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>**-f**</color> <color #7092be>BRANCH START-POINT</color>'': 기존 branch를 지정한 지점으로 강제 이동 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>**--set-upstream-to=**<upstream></color> <color #7092be>[<branch>]</color>'': upstream 설정 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>**--set-upstream-to=**</color><color #7092be>UPSTREAM</color> <color #7092be>[BRANCH]</color>'': upstream 설정 |
| |
| == 목록과 filtering 옵션 == | == 목록과 filtering 옵션 == |
| * ''<color #22b14c>**-l**</color>'', ''<color #22b14c>**--list**</color> <color #7092be>[<pattern>...]</color>'': branch 목록을 pattern으로 제한한다. Pattern만 쓰면 branch 생성으로 해석될 수 있으므로 ''--list''를 명시한다. | * ''<color #22b14c>**-l**</color>'', ''<color #22b14c>**--list**</color> <color #7092be>[PATTERN...]</color>'': branch 목록을 pattern으로 제한한다. Pattern만 쓰면 branch 생성으로 해석될 수 있으므로 ''--list''를 명시한다. |
| * ''<color #22b14c>**-r**</color>'', ''<color #22b14c>**--remotes**</color>'': remote-tracking branch를 대상으로 목록 표시 또는 삭제 | * ''<color #22b14c>**-r**</color>'', ''<color #22b14c>**--remotes**</color>'': remote-tracking branch를 대상으로 목록 표시 또는 삭제 |
| * ''<color #22b14c>**-a**</color>'', ''<color #22b14c>**--all**</color>'': local 및 remote-tracking branch 모두 표시 | * ''<color #22b14c>**-a**</color>'', ''<color #22b14c>**--all**</color>'': local 및 remote-tracking branch 모두 표시 |
| * ''<color #22b14c>**--show-current**</color>'': 현재 branch 이름만 출력. Detached HEAD이면 빈 출력 | * ''<color #22b14c>**--show-current**</color>'': 현재 branch 이름만 출력. Detached HEAD이면 빈 출력 |
| * ''<color #22b14c>**-v**</color>'', ''<color #22b14c>**--verbose**</color>'': object id와 commit 제목 표시. ''-vv''는 upstream과 linked worktree 정보도 표시 | * ''<color #22b14c>**-v**</color>'', ''<color #22b14c>**--verbose**</color>'': object id와 commit 제목 표시. ''-vv''는 upstream과 linked worktree 정보도 표시 |
| * ''<color #22b14c>**--contains**</color> <color #7092be>[<commit>]</color>'', ''<color #22b14c>**--no-contains**</color> <color #7092be>[<commit>]</color>'': commit 포함 여부로 filtering | * ''<color #22b14c>**--contains**</color> <color #7092be>[COMMIT]</color>'', ''<color #22b14c>**--no-contains**</color> <color #7092be>[COMMIT]</color>'': commit 포함 여부로 filtering |
| * ''<color #22b14c>**--merged**</color> <color #7092be>[<commit>]</color>'', ''<color #22b14c>**--no-merged**</color> <color #7092be>[<commit>]</color>'': commit에 merge되었는지 여부로 filtering | * ''<color #22b14c>**--merged**</color> <color #7092be>[COMMIT]</color>'', ''<color #22b14c>**--no-merged**</color> <color #7092be>[COMMIT]</color>'': commit에 merge되었는지 여부로 filtering |
| * ''<color #22b14c>**--points-at**</color> <color #7092be><object></color>'': 지정 object를 가리키는 branch만 표시 | * ''<color #22b14c>**--points-at**</color> <color #7092be>OBJECT</color>'': 지정 object를 가리키는 branch만 표시 |
| * ''<color #22b14c>**--sort=**<key></color>'': ref field 기준 정렬. ''-committerdate''처럼 ''-'' prefix로 내림차순 지정 | * ''<color #22b14c>**--sort=**</color><color #7092be>KEY</color>'': ref field 기준 정렬. ''-committerdate''처럼 ''-'' prefix로 내림차순 지정 |
| * ''<color #22b14c>**--format=**<format></color>'': ''for-each-ref'' 형식으로 출력 | * ''<color #22b14c>**--format=**</color><color #7092be>FORMAT</color>'': ''for-each-ref'' 형식으로 출력 |
| * ''<color #22b14c>**--column**[=<options>]</color>'', ''<color #22b14c>**--no-column**</color>'': 비-verbose 목록을 열로 표시하거나 해제 | * ''<color #22b14c>**--column**[=</color><color #7092be>OPTIONS</color><color #22b14c>]</color>'', ''<color #22b14c>**--no-column**</color>'': 비-verbose 목록을 열로 표시하거나 해제 |
| * ''<color #22b14c>**--color**[=<when>]</color>'', ''<color #22b14c>**--no-color**</color>'': ''always'', ''never'', ''auto'' color 정책 | * ''<color #22b14c>**--color**[=</color><color #7092be>WHEN</color><color #22b14c>]</color>'', ''<color #22b14c>**--no-color**</color>'': ''always'', ''never'', ''auto'' color 정책 |
| * ''<color #22b14c>**--abbrev=**<n></color>'', ''<color #22b14c>**--no-abbrev**</color>'': object id 표시 길이 | * ''<color #22b14c>**--abbrev=**</color><color #7092be>N</color>'', ''<color #22b14c>**--no-abbrev**</color>'': object id 표시 길이 |
| * ''<color #22b14c>**-i**</color>'', ''<color #22b14c>**--ignore-case**</color>'': 정렬과 filtering에서 대소문자 무시 | * ''<color #22b14c>**-i**</color>'', ''<color #22b14c>**--ignore-case**</color>'': 정렬과 filtering에서 대소문자 무시 |
| * ''<color #22b14c>**--omit-empty**</color>'': format 결과가 비어 있으면 newline을 출력하지 않음 | * ''<color #22b14c>**--omit-empty**</color>'': format 결과가 비어 있으면 newline을 출력하지 않음 |
| |
| == 생성과 tracking 옵션 == | == 생성과 tracking 옵션 == |
| * ''<color #22b14c>**-t**</color>'', ''<color #22b14c>**--track**[=direct|inherit]</color>'': 새 branch의 upstream tracking 설정 | * ''<color #22b14c>**-t**</color>'', ''<color #22b14c>**--track**[=</color><color #7092be>direct|inherit</color><color #22b14c>]</color>'': 새 branch의 upstream tracking 설정 |
| * ''<color #22b14c>**--no-track**</color>'': 자동 upstream tracking을 설정하지 않음 | * ''<color #22b14c>**--no-track**</color>'': 자동 upstream tracking을 설정하지 않음 |
| * ''<color #22b14c>**-u**</color> <color #7092be><upstream></color>'', ''<color #22b14c>**--set-upstream-to=**<upstream></color>'': 현재 또는 지정 branch의 upstream 변경 | * ''<color #22b14c>**-u**</color> <color #7092be>UPSTREAM</color>'', ''<color #22b14c>**--set-upstream-to=**</color><color #7092be>UPSTREAM</color>'': 현재 또는 지정 branch의 upstream 변경 |
| * ''<color #22b14c>**--unset-upstream**</color>'': upstream 설정 제거 | * ''<color #22b14c>**--unset-upstream**</color>'': upstream 설정 제거 |
| * ''<color #22b14c>**--create-reflog**</color>'': 새 branch의 reflog 생성 | * ''<color #22b14c>**--create-reflog**</color>'': 새 branch의 reflog 생성 |
| |
| == 변경과 삭제 옵션 == | == 변경과 삭제 옵션 == |
| * ''<color #22b14c>**-d**</color>'', ''<color #22b14c>**--delete**</color> <color #7092be><branch>...</color>'': 완전히 merge된 branch 삭제 | * ''<color #22b14c>**-d**</color>'', ''<color #22b14c>**--delete**</color> <color #7092be>BRANCH...</color>'': 완전히 merge된 branch 삭제 |
| * ''<color #22b14c>**-D**</color> <color #7092be><branch>...</color>'': merge 여부와 관계없이 강제 삭제(''--delete --force'') | * ''<color #22b14c>**-D**</color> <color #7092be>BRANCH...</color>'': merge 여부와 관계없이 강제 삭제(''--delete --force'') |
| * ''<color #22b14c>**-m**</color>'', ''<color #22b14c>**--move**</color> <color #7092be>[<old>] <new></color>'': branch, config, reflog 이름 변경 | * ''<color #22b14c>**-m**</color>'', ''<color #22b14c>**--move**</color> <color #7092be>[OLD] NEW</color>'': branch, config, reflog 이름 변경 |
| * ''<color #22b14c>**-M**</color> <color #7092be>[<old>] <new></color>'': 대상 이름이 있어도 강제 이름 변경 | * ''<color #22b14c>**-M**</color> <color #7092be>[OLD] NEW</color>'': 대상 이름이 있어도 강제 이름 변경 |
| * ''<color #22b14c>**-c**</color>'', ''<color #22b14c>**--copy**</color> <color #7092be>[<old>] <new></color>'': branch, config, reflog 복사 | * ''<color #22b14c>**-c**</color>'', ''<color #22b14c>**--copy**</color> <color #7092be>[OLD] NEW</color>'': branch, config, reflog 복사 |
| * ''<color #22b14c>**-C**</color> <color #7092be>[<old>] <new></color>'': 대상 이름이 있어도 강제 복사 | * ''<color #22b14c>**-C**</color> <color #7092be>[OLD] NEW</color>'': 대상 이름이 있어도 강제 복사 |
| * ''<color #22b14c>**-f**</color>'', ''<color #22b14c>**--force**</color>'': 생성 지점 이동, 삭제, 이름 변경, 복사에서 강제 동작 | * ''<color #22b14c>**-f**</color>'', ''<color #22b14c>**--force**</color>'': 생성 지점 이동, 삭제, 이름 변경, 복사에서 강제 동작 |
| * ''<color #22b14c>**--edit-description**</color> <color #7092be>[<branch>]</color>'': branch 설명 편집 | * ''<color #22b14c>**--edit-description**</color> <color #7092be>[BRANCH]</color>'': branch 설명 편집 |
| * ''<color #22b14c>**-q**</color>'', ''<color #22b14c>**--quiet**</color>'': 생성·삭제 시 정보 message 억제 | * ''<color #22b14c>**-q**</color>'', ''<color #22b14c>**--quiet**</color>'': 생성·삭제 시 정보 message 억제 |
| |
| <note warning> | <note warning> |
| ''git branch -D''와 ''git branch -f''는 merge되지 않은 commit 또는 branch pointer를 잃게 할 수 있다. 삭제·강제 이동 전 ''git branch --no-merged''와 ''git log <branch>''로 확인한다. | ''git branch -D''와 ''git branch -f''는 merge되지 않은 commit 또는 branch pointer를 잃게 할 수 있다. 삭제·강제 이동 전 ''git branch --no-merged''와 ''git log BRANCH''로 확인한다. |
| </note> | </note> |
| |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #7092be><branch></color>'': 기존 branch로 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #7092be>BRANCH</color>'': 기존 branch로 전환 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #22b14c>**--create**</color> <color #7092be><branch></color>'': branch 생성 후 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #22b14c>**--create**</color> <color #7092be>BRANCH</color>'': branch 생성 후 전환 |
| * <del>''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>**-b**</color> <color #7092be><branch></color>''</del>: 호환 가능한 기존 방식 | * <del>''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>**-b**</color> <color #7092be>BRANCH</color>''</del>: 호환 가능한 기존 방식 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rebase**</color> <color #7092be><branch></color>'': 현재 branch의 commit을 지정 branch 위에 재배치 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rebase**</color> <color #7092be>BRANCH</color>'': 현재 branch의 commit을 지정 branch 위에 재배치 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**push**</color> <color #22b14c>**--set-upstream**</color> <color #7092be>origin <branch></color>'': remote branch 생성과 upstream 설정 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**push**</color> <color #22b14c>**--set-upstream**</color> <color #7092be>origin BRANCH</color>'': remote branch 생성과 upstream 설정 |
| |
| ==== cat-file ==== | ==== cat-file ==== |
| Git object의 type이나 내용을 확인한다. | Git object의 type이나 내용을 확인한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**cat-file**</color> <color #22b14c>**-p**</color> <color #7092be><object></color>'': SHA/object 또는 tag가 가리키는 object 내용을 읽기 쉬운 형태로 출력 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**cat-file**</color> <color #22b14c>**-p**</color> <color #7092be>OBJECT</color>'': SHA/object 또는 tag가 가리키는 object 내용을 읽기 쉬운 형태로 출력 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**cat-file**</color> <color #7092be>commit HEAD</color>'': ''HEAD''가 가리키는 commit object 내용 출력 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**cat-file**</color> <color #7092be>commit HEAD</color>'': ''HEAD''가 가리키는 commit object 내용 출력 |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**ls-files**</color> <color #22b14c>**--stage**</color>'': index entry와 object id 확인 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**ls-files**</color> <color #22b14c>**--stage**</color>'': index entry와 object id 확인 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**show**</color> <color #7092be><object></color>'': object를 사람이 읽기 쉬운 형태로 표시 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**show**</color> <color #7092be>OBJECT</color>'': object를 사람이 읽기 쉬운 형태로 표시 |
| |
| ==== checkout ==== | ==== checkout ==== |
| branch 전환과 working tree file 복원을 함께 제공하는 기존 다목적 command다. 새 script와 일상 작업에서는 의도를 분리한 ''git switch''와 ''git restore''를 우선 사용한다. | branch 전환과 working tree file 복원을 함께 제공하는 기존 다목적 command다. 새 script와 일상 작업에서는 의도를 분리한 ''git switch''와 ''git restore''를 우선 사용한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>[<options>]</color> <color #7092be><branch></color>'': branch 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>BRANCH</color>'': branch 전환 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>**-b**</color> <color #7092be><new-branch> [<start-point>]</color>'': branch 생성 후 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>**-b**</color> <color #7092be>NEW-BRANCH [START-POINT]</color>'': branch 생성 후 전환 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>**--detach**</color> <color #7092be><commit></color>'': detached HEAD로 commit 검사 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #22b14c>**--detach**</color> <color #7092be>COMMIT</color>'': detached HEAD로 commit 검사 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #7092be><tree-ish></color> <color #22b14c>**--**</color> <color #7092be><pathspec>...</color>'': tree/index의 file version 복원 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #7092be>TREE-ISH</color> <color #22b14c>**--**</color> <color #7092be>PATHSPEC...</color>'': tree/index의 file version 복원 |
| |
| == Branch 전환 옵션 == | == Branch 전환 옵션 == |
| * ''<color #22b14c>**-b**</color> <color #7092be><branch></color>'': 새 branch를 만들고 전환 | * ''<color #22b14c>**-b**</color> <color #7092be>BRANCH</color>'': 새 branch를 만들고 전환 |
| * ''<color #22b14c>**-B**</color> <color #7092be><branch></color>'': branch를 생성하거나 지정 시작점으로 reset한 뒤 전환 | * ''<color #22b14c>**-B**</color> <color #7092be>BRANCH</color>'': branch를 생성하거나 지정 시작점으로 reset한 뒤 전환 |
| * ''<color #22b14c>**-d**</color>'', ''<color #22b14c>**--detach**</color>'': detached HEAD로 전환 | * ''<color #22b14c>**-d**</color>'', ''<color #22b14c>**--detach**</color>'': detached HEAD로 전환 |
| * ''<color #22b14c>**-t**</color>'', ''<color #22b14c>**--track**[=direct|inherit]</color>'': 새 branch의 tracking 설정 | * ''<color #22b14c>**-t**</color>'', ''<color #22b14c>**--track**[=</color><color #7092be>direct|inherit</color><color #22b14c>]</color>'': 새 branch의 tracking 설정 |
| * ''<color #22b14c>**--no-track**</color>'': tracking 설정 억제 | * ''<color #22b14c>**--no-track**</color>'': tracking 설정 억제 |
| * ''<color #22b14c>**--guess**</color>'', ''<color #22b14c>**--no-guess**</color>'': 같은 이름의 단일 remote-tracking branch 자동 추론 허용/금지 | * ''<color #22b14c>**--guess**</color>'', ''<color #22b14c>**--no-guess**</color>'': 같은 이름의 단일 remote-tracking branch 자동 추론 허용/금지 |
| * ''<color #22b14c>**--orphan**</color> <color #7092be><new-branch></color>'': 부모 없는 첫 commit을 위한 unborn branch 생성 | * ''<color #22b14c>**--orphan**</color> <color #7092be>NEW-BRANCH</color>'': 부모 없는 첫 commit을 위한 unborn branch 생성 |
| * ''<color #22b14c>**-l**</color>'': 새 branch의 reflog 생성 | * ''<color #22b14c>**-l**</color>'': 새 branch의 reflog 생성 |
| * ''<color #22b14c>**-q**</color>'', ''<color #22b14c>**--quiet**</color>'': feedback message 억제 | * ''<color #22b14c>**-q**</color>'', ''<color #22b14c>**--quiet**</color>'': feedback message 억제 |
| * ''<color #22b14c>**--progress**</color>'', ''<color #22b14c>**--no-progress**</color>'': progress 출력 강제/억제 | * ''<color #22b14c>**--progress**</color>'', ''<color #22b14c>**--no-progress**</color>'': progress 출력 강제/억제 |
| * ''<color #22b14c>**--recurse-submodules**[=checkout]</color>'': submodule working tree도 갱신 | * ''<color #22b14c>**--recurse-submodules**[=</color><color #7092be>checkout</color><color #22b14c>]</color>'': submodule working tree도 갱신 |
| * ''<color #22b14c>**--ignore-other-worktrees**</color>'': 다른 linked worktree가 보유한 branch 검사 생략 | * ''<color #22b14c>**--ignore-other-worktrees**</color>'': 다른 linked worktree가 보유한 branch 검사 생략 |
| |
| == 변경 처리와 file 복원 옵션 == | == 변경 처리와 file 복원 옵션 == |
| * ''<color #22b14c>**-m**</color>'', ''<color #22b14c>**--merge**</color>'': local 변경을 새 branch와 3-way merge | * ''<color #22b14c>**-m**</color>'', ''<color #22b14c>**--merge**</color>'': local 변경을 새 branch와 3-way merge |
| * ''<color #22b14c>**--conflict=**<style></color>'': ''merge'', ''diff3'', ''zdiff3'' conflict 표시 방식 | * ''<color #22b14c>**--conflict=**</color><color #7092be>STYLE</color>'': ''merge'', ''diff3'', ''zdiff3'' conflict 표시 방식 |
| * ''<color #22b14c>**-f**</color>'', ''<color #22b14c>**--force**</color>'': local 수정과 방해되는 untracked file을 버리고 강제 전환 | * ''<color #22b14c>**-f**</color>'', ''<color #22b14c>**--force**</color>'': local 수정과 방해되는 untracked file을 버리고 강제 전환 |
| * ''<color #22b14c>**--ours**</color>'', ''<color #22b14c>**--theirs**</color>'': unmerged file의 stage 2/3 version 선택 | * ''<color #22b14c>**--ours**</color>'', ''<color #22b14c>**--theirs**</color>'': unmerged file의 stage 2/3 version 선택 |
| * ''<color #22b14c>**-p**</color>'', ''<color #22b14c>**--patch**</color>'': hunk를 대화형으로 선택해 복원 | * ''<color #22b14c>**-p**</color>'', ''<color #22b14c>**--patch**</color>'': hunk를 대화형으로 선택해 복원 |
| * ''<color #22b14c>**-U**<n></color>'', ''<color #22b14c>**--unified=**<n></color>'': patch mode diff의 context line 수. 설정이 없으면 기본 3 | * ''<color #22b14c>**-U**</color><color #7092be>N</color>'', ''<color #22b14c>**--unified=**</color><color #7092be>N</color>'': patch mode diff의 context line 수. 설정이 없으면 기본 3 |
| * ''<color #22b14c>**--inter-hunk-context=**<n></color>'': 가까운 hunk 사이에 표시할 최대 context line 수. 설정이 없으면 기본 0 | * ''<color #22b14c>**--inter-hunk-context=**</color><color #7092be>N</color>'': 가까운 hunk 사이에 표시할 최대 context line 수. 설정이 없으면 기본 0 |
| * ''<color #22b14c>**--overlay**</color>'', ''<color #22b14c>**--no-overlay**</color>'': overlay mode 사용 여부 | * ''<color #22b14c>**--overlay**</color>'', ''<color #22b14c>**--no-overlay**</color>'': overlay mode 사용 여부 |
| * ''<color #22b14c>**--overwrite-ignore**</color>'', ''<color #22b14c>**--no-overwrite-ignore**</color>'': branch 전환 때 무시된 file 덮어쓰기 허용/금지 | * ''<color #22b14c>**--overwrite-ignore**</color>'', ''<color #22b14c>**--no-overwrite-ignore**</color>'': branch 전환 때 무시된 file 덮어쓰기 허용/금지 |
| * ''<color #22b14c>**--ignore-skip-worktree-bits**</color>'': sparse checkout의 skip-worktree bit 제한 무시 | * ''<color #22b14c>**--ignore-skip-worktree-bits**</color>'': sparse checkout의 skip-worktree bit 제한 무시 |
| * ''<color #22b14c>**--pathspec-from-file=**<file></color>'': file에서 pathspec 읽기 | * ''<color #22b14c>**--pathspec-from-file=**</color><color #7092be>FILE</color>'': file에서 pathspec 읽기 |
| * ''<color #22b14c>**--pathspec-file-nul**</color>'': pathspec을 LF 대신 NUL로 구분 | * ''<color #22b14c>**--pathspec-file-nul**</color>'': pathspec을 LF 대신 NUL로 구분 |
| |
| |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #7092be><branch></color>'': branch 전환 전용 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #7092be>BRANCH</color>'': branch 전환 전용 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #22b14c>**-c**</color> <color #7092be><new-branch></color>'': branch 생성 후 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #22b14c>**-c**</color> <color #7092be>NEW-BRANCH</color>'': branch 생성 후 전환 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**restore**</color> <color #22b14c>**--source=**<tree></color> <color #7092be><pathspec></color>'': file 복원 전용 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**restore**</color> <color #22b14c>**--source=**</color><color #7092be>TREE</color> <color #7092be>PATHSPEC</color>'': file 복원 전용 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**add**</color> <color #7092be><path> <branch></color>'': 기존 작업 tree를 유지하며 다른 branch 작업 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**add**</color> <color #7092be>PATH BRANCH</color>'': 기존 작업 tree를 유지하며 다른 branch 작업 |
| |
| ==== cherry-pick ==== | ==== cherry-pick ==== |
| 기존 commit이 도입한 변경을 현재 branch에 적용한다. | 기존 commit이 도입한 변경을 현재 branch에 적용한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**cherry-pick**</color> <color #7092be><commit></color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**cherry-pick**</color> <color #7092be>COMMIT</color>'' |
| |
| ==== clone ==== | ==== clone ==== |
| repository를 새 directory로 복제한다. | repository를 새 directory로 복제한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**clone**</color> <color #22b14c>[<options>] [--]</color> <color #7092be><repository> [<directory>]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**clone**</color> <color #22b14c>[OPTIONS] [--]</color> <color #7092be>REPOSITORY [DIRECTORY]</color>'' |
| * ''<color #22b14c>**-v**</color>'', ''<color #22b14c>**--verbose**</color>'': 상세 출력 | * ''<color #22b14c>**-v**</color>'', ''<color #22b14c>**--verbose**</color>'': 상세 출력 |
| * ''<color #22b14c>**--no-verbose**</color>'': verbose 출력 해제 | * ''<color #22b14c>**--no-verbose**</color>'': verbose 출력 해제 |
| * ''<color #22b14c>**--no-progress**</color>'': progress 출력 억제 | * ''<color #22b14c>**--no-progress**</color>'': progress 출력 억제 |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**clone**</color> <color #22b14c>**--recurse-submodules**</color> <color #7092be><repository></color>'': submodule까지 초기화하여 clone | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**clone**</color> <color #22b14c>**--recurse-submodules**</color> <color #7092be>REPOSITORY</color>'': submodule까지 초기화하여 clone |
| |
| ==== commit ==== | ==== commit ==== |
| index에 staging된 변경을 repository history에 기록한다. | index에 staging된 변경을 repository history에 기록한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**commit**</color> <color #22b14c>[<options>]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**commit**</color> <color #22b14c>[OPTIONS]</color>'' |
| * ''<color #22b14c>**--allow-empty**</color>'': 변경이 없는 빈 commit 생성 | * ''<color #22b14c>**--allow-empty**</color>'': 변경이 없는 빈 commit 생성 |
| * ''<color #22b14c>**-m**</color> <color #7092be><message></color>'': commit message 지정 | * ''<color #22b14c>**-m**</color> <color #7092be>MESSAGE</color>'': commit message 지정 |
| * ''<color #22b14c>**--amend**</color>'': 직전 commit 수정 | * ''<color #22b14c>**--amend**</color>'': 직전 commit 수정 |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**add**</color> <color #7092be><pathspec></color>'': 변경 staging | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**add**</color> <color #7092be>PATHSPEC</color>'': 변경 staging |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**show**</color> <color #7092be>HEAD</color>'': 생성한 commit 확인 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**show**</color> <color #7092be>HEAD</color>'': 생성한 commit 확인 |
| |
| working tree, index, commit 또는 branch 사이의 변경 내용을 비교한다. | working tree, index, commit 또는 branch 사이의 변경 내용을 비교한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**diff**</color> <color #22b14c>[<options>] [--]</color> <color #7092be>[<pathspec>...]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**diff**</color> <color #22b14c>[OPTIONS] [--]</color> <color #7092be>[PATHSPEC...]</color>'' |
| * ''<color #22b14c>**--stat**</color> <color #7092be>[<commit-or-range>]</color>'': 변경 file과 line 수 요약 | * ''<color #22b14c>**--stat**</color> <color #7092be>[COMMIT-OR-RANGE]</color>'': 변경 file과 line 수 요약 |
| * ''<color #7092be><commit-1>..<commit-2></color>'': 두 commit 사이 범위. 예: ''HEAD~5..HEAD'' | * ''<color #7092be>COMMIT-1..COMMIT-2</color>'': 두 commit 사이 범위. 예: ''HEAD~5..HEAD'' |
| * ''<color #22b14c>**--**</color> <color #7092be><pathspec></color>'': 비교 대상을 특정 file/path로 제한 | * ''<color #22b14c>**--**</color> <color #7092be>PATHSPEC</color>'': 비교 대상을 특정 file/path로 제한 |
| |
| ==== fetch ==== | ==== fetch ==== |
| remote repository의 object와 ref를 가져오며 현재 working tree에는 직접 적용하지 않는다. | remote repository의 object와 ref를 가져오며 현재 working tree에는 직접 적용하지 않는다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**fetch**</color> <color #22b14c>[<options>]</color> <color #7092be>[<repository> [<refspec>...]]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**fetch**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[REPOSITORY [REFSPEC...]]</color>'' |
| * ''<color #22b14c>**--all**</color>'': 등록된 모든 remote에서 fetch | * ''<color #22b14c>**--all**</color>'': 등록된 모든 remote에서 fetch |
| * 관련 명령 예시 | * 관련 명령 예시 |
| tracked content에서 pattern과 일치하는 line을 찾는다. | tracked content에서 pattern과 일치하는 line을 찾는다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**grep**</color> <color #22b14c>[<options>]</color> <color #7092be><pattern> [<tree>...] [--] [<pathspec>...]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**grep**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>PATTERN [TREE...] [--] [PATHSPEC...]</color>'' |
| |
| ==== init ==== | ==== init ==== |
| 빈 Git repository를 생성하거나 기존 repository를 다시 초기화한다. | 빈 Git repository를 생성하거나 기존 repository를 다시 초기화한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**init**</color> <color #22b14c>[<options>]</color> <color #7092be>[<directory>]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**init**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[DIRECTORY]</color>'' |
| * ''<color #22b14c>**--bare**</color>'': working tree 없이 repository data만 보관하는 bare repository 생성 | * ''<color #22b14c>**--bare**</color>'': working tree 없이 repository data만 보관하는 bare repository 생성 |
| * ''<color #22b14c>**--initial-branch=**<name></color>'': 최초 branch 이름 지정 | * ''<color #22b14c>**--initial-branch=**</color><color #7092be>NAME</color>'': 최초 branch 이름 지정 |
| |
| ==== log ==== | ==== log ==== |
| commit history를 표시한다. | commit history를 표시한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**log**</color> <color #22b14c>[<options>]</color> <color #7092be>[<revision-range>] [[--] <path>...]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**log**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[REVISION-RANGE] [[--] PATH...]</color>'' |
| * ''<color #22b14c>**--stat**</color>'': commit별 변경 file, line 수와 최종 요약 | * ''<color #22b14c>**--stat**</color>'': commit별 변경 file, line 수와 최종 요약 |
| * ''<color #22b14c>**--shortstat**</color>'': 변경 file 수와 전체 추가·삭제 line만 표시 | * ''<color #22b14c>**--shortstat**</color>'': 변경 file 수와 전체 추가·삭제 line만 표시 |
| * ''<color #22b14c>**--oneline**</color>'': commit 하나를 한 줄로 표시 | * ''<color #22b14c>**--oneline**</color>'': commit 하나를 한 줄로 표시 |
| * ''<color #22b14c>**-p**</color> <color #22b14c>**--**</color> <color #7092be><path></color>'': 특정 file의 patch history 표시 | * ''<color #22b14c>**-p**</color> <color #22b14c>**--**</color> <color #7092be>PATH</color>'': 특정 file의 patch history 표시 |
| |
| ==== merge ==== | ==== merge ==== |
| 하나 이상의 development history를 현재 branch에 결합한다. | 하나 이상의 development history를 현재 branch에 결합한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**merge**</color> <color #22b14c>[<options>]</color> <color #7092be><commit>...</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**merge**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>COMMIT...</color>'' |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>**--no-merged**</color>'': 현재 ''HEAD''에 아직 merge되지 않은 branch 확인 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #22b14c>**--no-merged**</color>'': 현재 ''HEAD''에 아직 merge되지 않은 branch 확인 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rebase**</color> <color #7092be><upstream></color>'': merge 대신 commit 재배치 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rebase**</color> <color #7092be>UPSTREAM</color>'': merge 대신 commit 재배치 |
| |
| ==== mv ==== | ==== mv ==== |
| file, directory 또는 symlink를 이동하거나 이름을 바꾸고 index를 갱신한다. | file, directory 또는 symlink를 이동하거나 이름을 바꾸고 index를 갱신한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**mv**</color> <color #22b14c>[<options>]</color> <color #7092be><source> <destination></color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**mv**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>SOURCE DESTINATION</color>'' |
| |
| ==== pull ==== | ==== pull ==== |
| remote 변경을 fetch한 뒤 현재 branch에 merge 또는 rebase한다. | remote 변경을 fetch한 뒤 현재 branch에 merge 또는 rebase한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**pull**</color> <color #22b14c>[<options>]</color> <color #7092be>[<repository> [<refspec>...]]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**pull**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[REPOSITORY [REFSPEC...]]</color>'' |
| * ''<color #22b14c>**--ff-only**</color>'': fast-forward가 가능한 경우에만 갱신 | * ''<color #22b14c>**--ff-only**</color>'': fast-forward가 가능한 경우에만 갱신 |
| * ''<color #22b14c>**--rebase**</color>'': merge 대신 local commit을 fetched branch 위에 재배치 | * ''<color #22b14c>**--rebase**</color>'': merge 대신 local commit을 fetched branch 위에 재배치 |
| local object와 ref를 remote repository에 전송한다. | local object와 ref를 remote repository에 전송한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**push**</color> <color #22b14c>[<options>]</color> <color #7092be>[<repository> [<refspec>...]]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**push**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[REPOSITORY [REFSPEC...]]</color>'' |
| * ''<color #22b14c>**-u**</color>'', ''<color #22b14c>**--set-upstream**</color> <color #7092be><remote> <branch></color>'': 새 remote branch를 만들고 upstream tracking 설정 | * ''<color #22b14c>**-u**</color>'', ''<color #22b14c>**--set-upstream**</color> <color #7092be>REMOTE BRANCH</color>'': 새 remote branch를 만들고 upstream tracking 설정 |
| * ''<color #22b14c>**--all**</color>'': 모든 local branch 전송 | * ''<color #22b14c>**--all**</color>'': 모든 local branch 전송 |
| * ''<color #22b14c>**--tags**</color>'': 모든 tag 전송 | * ''<color #22b14c>**--tags**</color>'': 모든 tag 전송 |
| 현재 branch의 commit을 다른 base tip 위에 다시 적용한다. | 현재 branch의 commit을 다른 base tip 위에 다시 적용한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rebase**</color> <color #22b14c>[<options>]</color> <color #7092be><upstream> [<branch>]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rebase**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>UPSTREAM [BRANCH]</color>'' |
| |
| ==== reflog ==== | ==== reflog ==== |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reflog**</color>'': 기본적으로 ''HEAD'' reflog 표시 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reflog**</color>'': 기본적으로 ''HEAD'' reflog 표시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reflog**</color> <color #ff7f27>**show**</color> <color #7092be><branch></color>'': 특정 branch reflog 표시 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reflog**</color> <color #ff7f27>**show**</color> <color #7092be>BRANCH</color>'': 특정 branch reflog 표시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reflog**</color> <color #ff7f27>**show**</color> <color #22b14c>**--all**</color>'': 모든 reference의 reflog 표시 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reflog**</color> <color #ff7f27>**show**</color> <color #22b14c>**--all**</color>'': 모든 reference의 reflog 표시 |
| |
| tracked remote repository를 관리한다. | tracked remote repository를 관리한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**remote**</color> <color #ff7f27>**add**</color> <color #7092be><name> <url></color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**remote**</color> <color #ff7f27>**add**</color> <color #7092be>NAME URL</color>'' |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**remote**</color> <color #ff7f27>**rename**</color> <color #7092be><old> <new></color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**remote**</color> <color #ff7f27>**rename**</color> <color #7092be>OLD NEW</color>'' |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**remote**</color> <color #ff7f27>**remove**</color> <color #7092be><name></color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**remote**</color> <color #ff7f27>**remove**</color> <color #7092be>NAME</color>'' |
| |
| ==== reset ==== | ==== reset ==== |
| 현재 ''HEAD''를 지정 상태로 이동하고 mode에 따라 index와 working tree를 갱신한다. | 현재 ''HEAD''를 지정 상태로 이동하고 mode에 따라 index와 working tree를 갱신한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reset**</color> <color #22b14c>[<mode>]</color> <color #7092be>[<commit>]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**reset**</color> <color #22b14c>[MODE]</color> <color #7092be>[COMMIT]</color>'' |
| * ''<color #22b14c>**--soft**</color>'': commit만 취소하고 index와 working tree 유지 | * ''<color #22b14c>**--soft**</color>'': commit만 취소하고 index와 working tree 유지 |
| * ''<color #22b14c>**--mixed**</color>'': commit과 staging을 취소하고 working tree 유지 | * ''<color #22b14c>**--mixed**</color>'': commit과 staging을 취소하고 working tree 유지 |
| * ''<color #22b14c>**--hard**</color>'': commit, index, working tree 변경 폐기 | * ''<color #22b14c>**--hard**</color>'': commit, index, working tree 변경 폐기 |
| * ''<color #7092be><commit-hash></color>'': 특정 commit 지정 | * ''<color #7092be>COMMIT-HASH</color>'': 특정 commit 지정 |
| * ''<color #7092be>HEAD~<num></color>'': 현재 ''HEAD''에서 ''num''개 전 commit | * ''<color #7092be>HEAD~NUM</color>'': 현재 ''HEAD''에서 ''NUM''개 전 commit |
| |
| <note warning> | <note warning> |
| working tree file을 index 또는 다른 source tree의 상태로 복원한다. | working tree file을 index 또는 다른 source tree의 상태로 복원한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**restore**</color> <color #22b14c>[<options>] [--]</color> <color #7092be><pathspec>...</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**restore**</color> <color #22b14c>[OPTIONS] [--]</color> <color #7092be>PATHSPEC...</color>'' |
| |
| ==== revert ==== | ==== revert ==== |
| 기존 commit의 변경을 반대로 적용하는 새 commit을 생성한다. | 기존 commit의 변경을 반대로 적용하는 새 commit을 생성한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**revert**</color> <color #7092be><commit></color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**revert**</color> <color #7092be>COMMIT</color>'' |
| |
| ==== rm ==== | ==== rm ==== |
| working tree와 index에서 file을 제거한다. | working tree와 index에서 file을 제거한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rm**</color> <color #22b14c>[<options>] [--]</color> <color #7092be><pathspec>...</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**rm**</color> <color #22b14c>[OPTIONS] [--]</color> <color #7092be>PATHSPEC...</color>'' |
| |
| ==== show ==== | ==== show ==== |
| commit, tag, tree, blob 등 여러 Git object를 표시한다. | commit, tag, tree, blob 등 여러 Git object를 표시한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**show**</color> <color #22b14c>[<options>]</color> <color #7092be>[<object>...]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**show**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[OBJECT...]</color>'' |
| |
| ==== stash ==== | ==== stash ==== |
| 작업 중인 변경을 임시 저장해 working tree를 정리한다. | 작업 중인 변경을 임시 저장해 working tree를 정리한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**push**</color> <color #22b14c>[<options>]</color>'': 새 stash 생성 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**push**</color> <color #22b14c>[OPTIONS]</color>'': 새 stash 생성 |
| * 인자 없는 ''git stash''는 ''git stash push''의 단축형이다. | * 인자 없는 ''git stash''는 ''git stash push''의 단축형이다. |
| * <del>''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**save**</color>''</del>: legacy 방식 | * <del>''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**save**</color>''</del>: legacy 방식 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**list**</color>'': stash 목록 확인 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**list**</color>'': stash 목록 확인 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**apply**</color> <color #7092be>[<stash>]</color>'': stash를 유지하며 적용 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**apply**</color> <color #7092be>[STASH]</color>'': stash를 유지하며 적용 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**pop**</color> <color #7092be>[<stash>]</color>'': stash 적용 후 성공하면 목록에서 제거 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**stash**</color> <color #ff7f27>**pop**</color> <color #7092be>[STASH]</color>'': stash 적용 후 성공하면 목록에서 제거 |
| |
| ==== status ==== | ==== status ==== |
| working tree와 index의 상태를 표시한다. | working tree와 index의 상태를 표시한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**status**</color> <color #22b14c>[<options>]</color> <color #7092be>[--] [<pathspec>...]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**status**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[--] [PATHSPEC...]</color>'' |
| |
| ==== switch ==== | ==== switch ==== |
| branch 전환 전용 command다. | branch 전환 전용 command다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #7092be><branch></color>'': 기존 branch로 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #7092be>BRANCH</color>'': 기존 branch로 전환 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #22b14c>**--create**</color> <color #7092be><branch></color>'': branch 생성 후 전환 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**switch**</color> <color #22b14c>**--create**</color> <color #7092be>BRANCH</color>'': branch 생성 후 전환 |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #7092be><branch> [<start-point>]</color>'': 전환 없이 branch 생성 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**branch**</color> <color #7092be>BRANCH [START-POINT]</color>'': 전환 없이 branch 생성 |
| * <del>''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #7092be><branch></color>''</del>: 호환 가능한 기존 방식 | * <del>''<color #c3c3c3>**git**</color> <color #ff7f27>**checkout**</color> <color #7092be>BRANCH</color>''</del>: 호환 가능한 기존 방식 |
| |
| ==== tag ==== | ==== tag ==== |
| working tree의 file 내용을 index에 등록하거나 index entry bit를 조정한다. | working tree의 file 내용을 index에 등록하거나 index entry bit를 조정한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**update-index**</color> <color #22b14c>**--skip-worktree**</color> <color #7092be><path></color>'': 추적 file의 working tree 변경을 일반적인 index refresh 대상에서 제외 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**update-index**</color> <color #22b14c>**--skip-worktree**</color> <color #7092be>PATH</color>'': 추적 file의 working tree 변경을 일반적인 index refresh 대상에서 제외 |
| |
| <note important> | <note important> |
| 하나의 repository에 연결된 여러 working tree를 관리한다. | 하나의 repository에 연결된 여러 working tree를 관리한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**add**</color> <color #22b14c>[<options>]</color> <color #7092be><path> [<commit-ish>]</color>'': 별도 path에 linked worktree 추가 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**add**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>PATH [COMMIT-ISH]</color>'': 별도 path에 linked worktree 추가 |
| * ''<color #22b14c>**-b**</color> <color #7092be><branch></color>'': 새 branch를 생성해 worktree에 연결 | * ''<color #22b14c>**-b**</color> <color #7092be>BRANCH</color>'': 새 branch를 생성해 worktree에 연결 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**list**</color>'': linked worktree 확인 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**list**</color>'': linked worktree 확인 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**remove**</color> <color #7092be><path></color>'': worktree 연결 제거 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**remove**</color> <color #7092be>PATH</color>'': worktree 연결 제거 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**prune**</color>'': 유효하지 않은 worktree 관리 정보 정리 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**worktree**</color> <color #ff7f27>**prune**</color>'': 유효하지 않은 worktree 관리 정보 정리 |
| |
| Git을 Subversion client로 사용해 양방향 작업한다. | Git을 Subversion client로 사용해 양방향 작업한다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**svn**</color> <color #7092be><subcommand>...</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**svn**</color> <color #7092be>SUBCOMMAND...</color>'' |
| |
| ==== fast-import ==== | ==== fast-import ==== |
| 다른 version control system의 data를 빠르게 Git으로 가져오는 backend다. | 다른 version control system의 data를 빠르게 Git으로 가져오는 backend다. |
| |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**fast-import**</color> <color #22b14c>[<options>]</color>'' | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**fast-import**</color> <color #22b14c>[OPTIONS]</color>'' |
| |
| ===== Repository Workflows ===== | ===== Repository Workflows ===== |
| 프로젝트 내부의 독립된 Git repository다. Main repository에는 submodule repository의 특정 commit SHA가 기록된다. | 프로젝트 내부의 독립된 Git repository다. Main repository에는 submodule repository의 특정 commit SHA가 기록된다. |
| |
| * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**add**</color> <color #22b14c>[<options>]</color> <color #7092be><repository> [<path>]</color>'' | * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**add**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>REPOSITORY [PATH]</color>'' |
| * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**init**</color> <color #22b14c>[<options>]</color> <color #7092be>[<path>...]</color>'' | * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**init**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[PATH...]</color>'' |
| * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**update**</color> <color #22b14c>[<options>]</color> <color #7092be>[<path>...]</color>'' | * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**update**</color> <color #22b14c>[OPTIONS]</color> <color #7092be>[PATH...]</color>'' |
| * ''<color #22b14c>**--init --recursive**</color>'': 중첩된 submodule까지 초기화 | * ''<color #22b14c>**--init --recursive**</color>'': 중첩된 submodule까지 초기화 |
| * ''<color #22b14c>**--remote**</color>'': configured remote-tracking branch의 최신 commit으로 갱신 | * ''<color #22b14c>**--remote**</color>'': configured remote-tracking branch의 최신 commit으로 갱신 |
| * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**foreach**</color> <color #7092be>'<command>'</color>'': 모든 submodule에서 command 수행 | * ''<color #c3c3c3>**git submodule**</color> <color #ff7f27>**foreach**</color> <color #7092be>'COMMAND'</color>'': 모든 submodule에서 command 수행 |
| * 관련 명령 예시 | * 관련 명령 예시 |
| * ''<color #c3c3c3>**git**</color> <color #ff7f27>**clone**</color> <color #22b14c>**--recurse-submodules**</color> <color #7092be><repository></color>'': clone과 동시에 submodule 초기화 | * ''<color #c3c3c3>**git**</color> <color #ff7f27>**clone**</color> <color #22b14c>**--recurse-submodules**</color> <color #7092be>REPOSITORY</color>'': clone과 동시에 submodule 초기화 |
| |
| ===== Subtree ===== | ===== Subtree ===== |
| 다른 repository를 현재 repository의 하위 directory에 병합한다. ''--squash''를 사용하면 가져온 history를 하나의 commit으로 압축한다. | 다른 repository를 현재 repository의 하위 directory에 병합한다. ''--squash''를 사용하면 가져온 history를 하나의 commit으로 압축한다. |
| |
| * ''<color #c3c3c3>**git subtree**</color> <color #ff7f27>**add**</color> <color #22b14c>**--prefix=**<path></color> <color #7092be><repository> <ref></color>'': 다른 repository를 지정 path에 추가 | * ''<color #c3c3c3>**git subtree**</color> <color #ff7f27>**add**</color> <color #22b14c>**--prefix=**</color><color #7092be>PATH</color> <color #7092be>REPOSITORY REF</color>'': 다른 repository를 지정 path에 추가 |
| * ''<color #22b14c>**--squash**</color>'': 가져온 history 압축 | * ''<color #22b14c>**--squash**</color>'': 가져온 history 압축 |
| * ''<color #c3c3c3>**git subtree**</color> <color #ff7f27>**pull**</color> <color #22b14c>**--prefix=**<path></color> <color #7092be><repository> <ref></color>'': remote 변경 병합 | * ''<color #c3c3c3>**git subtree**</color> <color #ff7f27>**pull**</color> <color #22b14c>**--prefix=**</color><color #7092be>PATH</color> <color #7092be>REPOSITORY REF</color>'': remote 변경 병합 |
| * ''<color #c3c3c3>**git subtree**</color> <color #ff7f27>**push**</color> <color #22b14c>**--prefix=**<path></color> <color #7092be><repository> <ref></color>'': 하위 directory history를 remote로 전송 | * ''<color #c3c3c3>**git subtree**</color> <color #ff7f27>**push**</color> <color #22b14c>**--prefix=**</color><color #7092be>PATH</color> <color #7092be>REPOSITORY REF</color>'': 하위 directory history를 remote로 전송 |
| |
| ===== Daemon ===== | ===== Daemon ===== |
| * ''git checkout''은 현재도 지원되지만 branch 전환과 file 복원이라는 서로 다른 역할을 함께 수행한다. Git 2.23 이상에서는 새 작업에 ''git switch''와 ''git restore''를 우선 사용하면 의도가 명확하다. | * ''git checkout''은 현재도 지원되지만 branch 전환과 file 복원이라는 서로 다른 역할을 함께 수행한다. Git 2.23 이상에서는 새 작업에 ''git switch''와 ''git restore''를 우선 사용하면 의도가 명확하다. |
| * ''git branch --recurse-submodules''는 upstream 문서에서 experimental 기능으로 표시한다. | * ''git branch --recurse-submodules''는 upstream 문서에서 experimental 기능으로 표시한다. |
| * 배포판에 포함된 Git version에 따라 최신 option이 없을 수 있으므로 ''git --version''과 ''git <command> -h''를 확인한다. | * 배포판에 포함된 Git version에 따라 최신 option이 없을 수 있으므로 ''git --version''과 ''git COMMAND -h''를 확인한다. |
| |
| ===== Deprecated / Legacy ===== | ===== Deprecated / Legacy ===== |
| * <del>''--no-quite''</del>, <del>''--shoartstat''</del>, <del>''-stat''</del>, <del>''-all''</del>: 기존 기록의 철자 오류다. 각각 ''--no-quiet'', ''--shortstat'', ''--stat'', ''--all''을 사용한다. | * <del>''--no-quite''</del>, <del>''--shoartstat''</del>, <del>''-stat''</del>, <del>''-all''</del>: 기존 기록의 철자 오류다. 각각 ''--no-quiet'', ''--shortstat'', ''--stat'', ''--all''을 사용한다. |
| * <del>''git ls=file --stage''</del>: command 이름 철자 오류다. ''git ls-files --stage''를 사용한다. | * <del>''git ls=file --stage''</del>: command 이름 철자 오류다. ''git ls-files --stage''를 사용한다. |
| * <del>''git submodule clone --recurse-submodules''</del>: 해당 subcommand는 없다. ''git clone --recurse-submodules <repository>''를 사용한다. | * <del>''git submodule clone --recurse-submodules''</del>: 해당 subcommand는 없다. ''git clone --recurse-submodules REPOSITORY''를 사용한다. |
| * <del>branch 전환·file 복원을 모두 ''git checkout''으로 표현하는 새 문서나 script</del>: 호환성은 유지되지만 새 사용례에는 각각 ''git switch''와 ''git restore''를 우선한다. | * <del>branch 전환·file 복원을 모두 ''git checkout''으로 표현하는 새 문서나 script</del>: 호환성은 유지되지만 새 사용례에는 각각 ''git switch''와 ''git restore''를 우선한다. |
| |
| * codex:: 2026-07-26 Added current installation guidance and moved configuration and authentication guidance to a dedicated child page. | * codex:: 2026-07-26 Added current installation guidance and moved configuration and authentication guidance to a dedicated child page. |
| * codex:: 2026-07-31 Reorganized the full command reference, expanded branch flags, and added checkout modes, options, safety notes, and related command examples. | * codex:: 2026-07-31 Reorganized the full command reference, expanded branch flags, and added checkout modes, options, safety notes, and related command examples. |
| | * codex:: 2026-07-31 Replaced tag-like argument placeholders with color-separated uppercase values in explanatory command signatures. |
| |
| {{indexmenu>.#1|js}} | {{indexmenu>.#1|js}} |
| |