일반 Git 명령어

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

git add

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

git add <file_path>

현재 작업 디렉토리에서 변경 사항을 재귀적으로 스테이징하려면 git add .를 사용하거나, Git 리포지토리의 모든 변경 사항을 스테이징하려면 git add --all을 사용하십시오.

자세한 내용은 브랜치에 파일 추가를 참조하세요.

git blame

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

git blame <file_name>

특정 행 범위를 확인하려면 git blame -L <line_start>, <line_end>를 사용할 수 있습니다.

자세한 내용은 Git 파일 블레임을 참조하세요.

예시

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

로컬 변경 사항과 브랜치의 최신 버전 간의 차이를 표시할 수 있습니다. 브랜치에 커밋하기 전에 로컬 변경 사항을 이해하기 위해 차이를 봅니다.

특정 브랜치에 대해 변경 사항을 비교하려면 다음을 실행합니다:

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를 사용하여 원격 참조를 업데이트합니다.

git push

자세한 내용은 변경 사항 단계, 커밋 및 푸시를 참조하세요.

git reflog

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

git reflog

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

자세한 내용은 변경 사항 되돌리기를 참조하세요.

git remote add

git remote add를 사용하여 Git에 로컬 디렉터리에 연결된 GitLab의 원격 리포지토리를 알려줍니다.

git remote add <remote_name> <repository_url>

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

추가 원격 설정에 대한 자세한 내용은 Forks를 참조하세요.

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의 대안에 대한 자세한 내용은 병합 충돌 해결을 위한 Rebase를 참조하세요.

예제

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를 사용하여 작업 디렉터리와 스테이지된 파일의 상태를 표시합니다.

git status

파일을 추가, 변경 또는 삭제하면 Git이 변경 내용을 표시할 수 있습니다.