일반적인 Git 명령어

가장 일반적으로 사용되는 Git 명령어에 대해 자세히 알아보세요.

git add

git add를 사용하여 파일을 스테이징 영역에 추가합니다.

git add <file_path>

git add . 명령을 사용하여 현재 작업 디렉토리에서 변경 사항을 재귀적으로 스테이징하거나, git add --all을 사용하여 Git 리포지토리의 모든 변경 사항을 스테이징할 수 있습니다.

더 자세한 정보는 브랜치에 파일 추가를 참조하세요.

git blame

git blame을 사용하여 파일의 어떤 부분을 어떤 사용자가 변경했는지 보고합니다.

git blame <file_name>

git blame -L <line_start>, <line_end>를 사용하여 특정 범위의 라인을 확인할 수 있습니다.

더 자세한 정보는 Git 파일 blame를 참조하세요.

예시

example.txt 파일의 다섯 번째 라인을 최근 수정한 사용자를 확인하려면:

$ git blame -L 5, 5 example.txt
123abc (Zhang Wei 2021-07-04 12:23:04 +0000 5)

git bisect

git bisect를 사용하여 이진 검색을 통해 버그를 도입한 커밋을 찾습니다.

먼저 “나쁜” (버그가 포함된) 커밋과 “좋은” (버그가 포함되지 않은) 커밋을 식별합니다.

git bisect start
git bisect bad                 # 현재 버전은 나쁨
git bisect good v2.6.13-rc2    # v2.6.13-rc2가 좋은 것으로 알려져 있음

그런 다음, git bisect는 두 지점 사이의 커밋을 선택하고 해당 커밋이 “좋은지” 또는 “나쁜지”를 식별하도록 하며, git bisect good 또는 git bisect bad를 사용하여 프로세스를 반복합니다. 이에 따라 해당 커밋이 찾아질 때까지 반복합니다.

git checkout

git checkout을 사용하여 특정 브랜치로 전환합니다.

git checkout <branch_name>

새 브랜치를 만들고 전환하려면 git checkout -b <branch_name>을 사용하세요.

더 자세한 정보는 변경 내용을 위한 Git 브랜치 생성을 참조하세요.

git clone

git clone을 사용하여 기존 Git 리포지토리를 복사합니다.

git clone <repository>

더 자세한 정보는 로컬 컴퓨터에 Git 리포지토리 복제를 참조하세요.

git commit

git commit을 사용하여 스테이징된 변경 사항을 저장소에 커밋합니다.

git commit -m "<commit_message>"

커밋 메시지에 빈 줄이 포함된 경우, 첫 줄은 커밋 제목이 되고 나머지는 커밋 본문이 됩니다. 제목은 변경 사항을 간단히 요약하고, 본문은 추가 세부 정보를 제공하는 데 사용합니다.

더 자세한 정보는 변경 사항 스테이징, 커밋 및 푸시를 참조하세요.

git commit --amend

가장 최근 커밋을 수정하려면 git commit --amend를 사용합니다.

git commit --amend

git diff

git diff를 사용하여 로컬 미스테이징된 변경 사항과 복제하거나 풀링한 최신 버전 간의 차이를 확인합니다.

git diff

로컬 변경 사항과 가장 최근 버전의 브랜치 사이의 차이를 확인할 수 있습니다. 브랜치에 대한 변경 사항을 커밋하기 전에 로컬 변경 사항을 이해하기 위해 diff를 사용하세요.

특정 브랜치에 대한 변경 사항을 비교하려면 다음을 실행하세요:

git diff <branch>

출력에서:

  • 추가된 줄은 녹색으로 시작하는 +로 표시되며, 초록색으로 표시됩니다.
  • 제거되거나 변경된 줄은 빨간색으로 시작하는 -로 표시되며, 빨간색으로 표시됩니다.

git init

git init를 사용하여 디렉토리를 초기화하여 Git이 추적하게 합니다.

git init

구성 및 로그 파일이 포함된 .git 파일이 디렉토리에 추가됩니다. .git 파일을 직접 편집해서는 안 됩니다.

기본 브랜치는 main으로 설정됩니다. git branch -m <branch_name>로 기본 브랜치의 이름을 변경하거나, git init -b <branch_name>로 초기화할 수 있습니다.

git pull

git pull을 사용하여 마지막으로 프로젝트를 복제하거나 풀링한 후 사용자가 만든 모든 변경 사항을 가져옵니다.

git pull <optional_remote> <branch_name>

git push

git push를 사용하여 원격 refs를 업데이트합니다.

git push

더 자세한 정보는 변경 사항 스테이징, 커밋 및 푸시를 참조하세요.

git reflog

git reflog를 사용하여 Git 참조 로그의 변경 목록을 표시합니다.

git reflog

기본적으로 git reflogHEAD의 변경 목록을 표시합니다.

더 자세한 정보는 변경 취소를 참조하세요.

git remote add

git remote add를 사용하여 GitLab의 원격 리포지토리가 로컬 디렉터리에 연결되었음을 Git에 알립니다.

git remote add <remote_name> <repository_url>

리포지토리를 복제할 때, 기본적으로 소스 리포지토리는 원격 이름 origin과 연관됩니다.

추가 원격 구성에 대한 자세한 내용은 포크를 참조하세요.

git log

git log를 사용하여 날짜순으로 커밋 목록을 표시합니다.

git log

git show

git show을 사용하여 Git의 객체에 대한 정보를 표시합니다.

예시

HEAD가 가리키는 커밋을 보려면:

$ git show HEAD
commit ab123c (HEAD -> main, origin/main, origin/HEAD)

git merge

git merge를 사용하여 한 브랜치의 변경 사항을 다른 브랜치에 통합합니다.

git merge의 대체 방법에 대한 자세한 정보는 병합 충돌 처리를 위한 리베이스를 참조하세요.

예시

feature_branch의 변경 사항을 target_branch에 적용하려면:

git checkout target_branch
git merge feature_branch

git rebase

git rebase를 사용하여 브랜치의 커밋 히스토리를 다시 작성합니다.

git rebase <branch_name>

git rebase를 사용하여 병합 충돌을 해결할 수 있습니다.

대부분의 경우, 기본 브랜치에 대해 리베이스를 하려고 합니다.

git reset

git reset을 사용하여 커밋을 취소하고 커밋 히스토리를 되감아 이전 커밋부터 계속합니다.

git reset

더 자세한 정보는 변경 취소를 참조하세요.

git status

git status를 사용하여 작업 디렉토리와 Staged 파일의 상태를 확인합니다.

git status

파일을 추가, 변경 또는 삭제할 때 Git은 해당 변경 사항을 표시할 수 있습니다.