InfoGrab Docs

자주 사용하는 Git 명령어

요약

Git 명령어는 개발 워크플로 전반에 걸쳐 시간을 절약해 줍니다. git add를 사용하여 스테이징 영역에 파일을 추가합니다. git add .로 현재 작업 디렉터리에서 변경 사항을 재귀적으로 스테이징하거나, git add --all로 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의 5번째 라인을 가장 최근에 수정한 사용자를 확인하려면:

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

git bisect#

git bisect를 사용하여 이진 검색으로 버그를 도입한 commit을 찾습니다.

"나쁜" commit(버그 포함)과 "좋은" commit(버그 없음)을 식별하는 것으로 시작합니다.

git bisect start
git bisect bad                 # Current version is bad
git bisect good v2.6.13-rc2    # v2.6.13-rc2 is known to be good

git bisect는 그런 다음 두 지점 사이의 commit을 선택하고, git bisect good 또는 git bisect bad로 해당 commit이 "좋은"지 "나쁜"지 식별하도록 요청합니다. commit을 찾을 때까지 이 과정을 반복합니다.

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>"

commit 메시지에 빈 줄이 포함된 경우 첫 번째 줄이 commit 제목이 되고 나머지는 commit 본문이 됩니다. 제목을 사용하여 변경 사항을 간략하게 요약하고, commit 본문을 사용하여 추가 세부 정보를 제공합니다.

자세한 내용은 변경 사항 스테이지, 커밋 및 push를 참조하세요.

git commit --amend#

git commit --amend를 사용하여 가장 최근 commit을 수정합니다.

git commit --amend

git diff#

git diff를 사용하여 로컬의 스테이징되지 않은 변경 사항과 클론하거나 pull한 최신 버전 간의 차이를 봅니다.

git diff

로컬 변경 사항과 브랜치의 가장 최근 버전 간의 차이(diff)를 표시할 수 있습니다. 브랜치에 commit하기 전에 로컬 변경 사항을 이해하려면 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을 사용하여 마지막으로 프로젝트를 클론하거나 pull한 이후에 사용자가 만든 모든 변경 사항을 가져옵니다.

git pull <optional_remote> <branch_name>

git push#

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

git push

자세한 내용은 변경 사항 스테이지, 커밋 및 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를 사용하여 시간 순서로 commit 목록을 표시합니다.

git log

git show#

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

예시#

HEAD가 가리키는 commit을 보려면:

$ 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를 사용하여 브랜치의 commit 기록을 다시 작성합니다.

git rebase <branch_name>

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

대부분의 경우 기본 브랜치를 기준으로 rebase하고 싶을 것입니다.

git reset#

git reset을 사용하여 commit을 취소하고 commit 기록을 되돌린 후 이전 commit에서 계속 진행합니다.

git reset

자세한 내용은 변경 사항 취소를 참조하세요.

git status#

git status를 사용하여 작업 디렉터리와 스테이징된 파일의 상태를 표시합니다.

git status

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

자주 사용하는 Git 명령어

원문 보기
요약

Git 명령어는 개발 워크플로 전반에 걸쳐 시간을 절약해 줍니다. git add를 사용하여 스테이징 영역에 파일을 추가합니다. git add .로 현재 작업 디렉터리에서 변경 사항을 재귀적으로 스테이징하거나, git add --all로 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의 5번째 라인을 가장 최근에 수정한 사용자를 확인하려면:

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

git bisect#

git bisect를 사용하여 이진 검색으로 버그를 도입한 commit을 찾습니다.

"나쁜" commit(버그 포함)과 "좋은" commit(버그 없음)을 식별하는 것으로 시작합니다.

git bisect start
git bisect bad                 # Current version is bad
git bisect good v2.6.13-rc2    # v2.6.13-rc2 is known to be good

git bisect는 그런 다음 두 지점 사이의 commit을 선택하고, git bisect good 또는 git bisect bad로 해당 commit이 "좋은"지 "나쁜"지 식별하도록 요청합니다. commit을 찾을 때까지 이 과정을 반복합니다.

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>"

commit 메시지에 빈 줄이 포함된 경우 첫 번째 줄이 commit 제목이 되고 나머지는 commit 본문이 됩니다. 제목을 사용하여 변경 사항을 간략하게 요약하고, commit 본문을 사용하여 추가 세부 정보를 제공합니다.

자세한 내용은 변경 사항 스테이지, 커밋 및 push를 참조하세요.

git commit --amend#

git commit --amend를 사용하여 가장 최근 commit을 수정합니다.

git commit --amend

git diff#

git diff를 사용하여 로컬의 스테이징되지 않은 변경 사항과 클론하거나 pull한 최신 버전 간의 차이를 봅니다.

git diff

로컬 변경 사항과 브랜치의 가장 최근 버전 간의 차이(diff)를 표시할 수 있습니다. 브랜치에 commit하기 전에 로컬 변경 사항을 이해하려면 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을 사용하여 마지막으로 프로젝트를 클론하거나 pull한 이후에 사용자가 만든 모든 변경 사항을 가져옵니다.

git pull <optional_remote> <branch_name>

git push#

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

git push

자세한 내용은 변경 사항 스테이지, 커밋 및 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를 사용하여 시간 순서로 commit 목록을 표시합니다.

git log

git show#

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

예시#

HEAD가 가리키는 commit을 보려면:

$ 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를 사용하여 브랜치의 commit 기록을 다시 작성합니다.

git rebase <branch_name>

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

대부분의 경우 기본 브랜치를 기준으로 rebase하고 싶을 것입니다.

git reset#

git reset을 사용하여 commit을 취소하고 commit 기록을 되돌린 후 이전 commit에서 계속 진행합니다.

git reset

자세한 내용은 변경 사항 취소를 참조하세요.

git status#

git status를 사용하여 작업 디렉터리와 스테이징된 파일의 상태를 표시합니다.

git status

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