Git 상태 명령어 설명 및 예제

상태 명령어 Git

Git은 코드의 변경 사항을 추적하고 다른 사람과 쉽게 협업할 수 있도록 도와주는 버전 관리 시스템입니다. Git은 다양한 작업을 수행하기 위해 여러 명령어를 제공합니다. 그 중 하나인 git status 명령어는 현재 파일의 상태를 보여주며, 스테이징된 변경 사항, 스테이징되지 않은 변경 사항 또는 추적되지 않는 파일을 포함합니다. 이 기사에서는 git status 명령어를 사용하여 git 워크플로를 효율적으로 관리하는 방법에 대해 논의하겠습니다.

관련: Git이 처음이라면, Git 초보자 가이드를 확인해 보세요.

git status란 무엇인가요

git status 명령어는 프로젝트의 현재 상태를 검색합니다. 커밋할 준비가 된 파일, 수정되었지만 스테이징되지 않은 파일, Git이 추적하지 않는 새로 생성된 파일 목록을 제공합니다. 또한 작업 디렉토리에서 무슨 일이 일어나고 있는지, 다음에 어떤 작업을 수행해야 할지 확인하는 데 도움이 됩니다.

Git 상태 명령어 사용의 중요성

다음은 git status 명령어 사용의 중요성을 보여주는 몇 가지 장점입니다:

  • 변경된 파일, 스테이징된 파일 또는 추적되지 않는 파일을 표시합니다.
  • 프로젝트의 현재 상태에 대한 개요를 제공합니다.
  • 커밋할 준비가 된 변경 사항을 이해하는 데 도움이 됩니다.
  • git status 명령어는 실수로 원하지 않는 파일을 커밋하는 것을 방지하는 데 도움이 됩니다.
  • 워크플로를 깔끔하고 정리된 상태로 유지합니다.
  • 스테이징 영역에 파일을 포함하거나 제외할 것을 상기시킵니다.
  • 병합 충돌 문제 해결에 유용합니다.

git status를 사용할 때

작업 디렉토리와 스테이징 영역의 현재 상태를 검사하고 싶을 때마다 git status 명령어를 실행하세요. 개발자들은 파일을 변경한 후 이 명령어를 자주 사용합니다. 또한 이 명령어를 통해 변경된 파일, 커밋을 위해 스테이징된 파일 및 추적되지 않는 파일을 식별할 수 있습니다. 커밋하기 전에 git status 명령어를 실행하면 모든 의도한 변경 사항을 포함하고 실수로 원하지 않는 파일을 커밋하지 않도록 할 수 있습니다.

또한, git status 명령어는 브랜치를 전환하거나 새로운 변경 사항을 가져오기 전에 사용할 수 있으며, 작업 디렉토리가 깨끗한지 또는 보류 중인 업데이트가 있는지를 보여줍니다.

Git 상태 명령어 사용 방법

다음 명령어를 실행하여 git 리포지토리의 현재 상태를 확인할 수 있습니다:

git status

출력은 리포지토리에 수정 사항이나 추적되지 않는 파일이 없음을 나타냅니다. 이는 우리의 작업 트리가 깨끗하다는 것을 의미합니다.

현재 Git 상태 확인

이제 git 리포지토리에 새 빈 파일을 생성해 보겠습니다:

touch new_file.txt

새 파일 생성

파일을 생성한 후 다음 명령어를 사용하여 Git 리포지토리의 상태를 확인하세요:

git status

출력은 Untracked files: new_file.txt를 보여줍니다. 이는 “new_file.txt”라는 파일이 리포지토리에 존재하지만 Git이 아직 추적하지 않고 있음을 의미합니다:

Git 상태 추적되지 않는 파일

git add 명령어를 적용하여 추적되지 않는 파일을 스테이징 영역으로 이동합니다:

git add new_file.txt

새 파일 상태

그런 다음 git status 명령어를 사용하여 리포지토리의 현재 상태를 모니터링합니다. 이제 출력은 커밋을 위한 보류 중인 변경 사항을 표시합니다: 새로 추가된 파일 new_file.txt. 이는 “new_file.txt”가 성공적으로 스테이징되었고 커밋할 준비가 되었음을 나타냅니다:

Git 상태 스테이징 영역

스테이징된 수정을 저장하려면 아래 명령어를 실행하세요:

git commit -m "My first commit"

Git 커밋

“내 첫 번째 커밋”을 원하는 메시지로 교체하세요. 그 후 git status로 현재 상태를 확인하세요.

“커밋할 것이 없음, 작업 트리 깨끗함”이라는 메시지는 파일이 성공적으로 리포지토리에 추가되었음을 확인합니다:

Git 상태 커밋

“new_file.txt”를 텍스트 편집기에서 열고 몇 가지 변경 사항을 만듭니다:

파일 수정

그런 다음 파일이 수정된 상태를 확인하기 위해 git status 명령어를 실행합니다. 이번에는 커밋을 위해 스테이징되지 않은 변경 사항: 수정됨: new_file.txt라고 표시됩니다. 이는 파일이 업데이트되었지만 아직 스테이징 영역에 추가되지 않았음을 나타냅니다:

파일 수정 후 Git 상태

업데이트된 파일을 스테이징 영역에 추가하려면 다음 명령어를 실행하세요:

git add new_file.txt

그런 다음 아래 명령어를 실행하여 변경 사항을 적용합니다:

git commit -m "file has been modified"

수정된 파일 커밋

그런 다음 현재 git 상태를 확인하세요:

git status

출력 스니펫은 작업 트리가 정리되었음을 나타냅니다:

커밋된 파일 상태 확인

이제 rm 명령어를 실행하여 파일을 제거해 보겠습니다:

git rm new_file.txt

파일 제거

출력에서 git은 커밋할 변경 사항: 삭제됨: new_file.txt라는 메시지를 반환합니다:

Git 상태 파일 삭제 확인

그 후, 다음 명령어를 사용하여 리포지토리의 커밋 기록에 파일 삭제를 영구적으로 기록할 수 있습니다:

git commit -m "file has been deleted"

Git 커밋 제거

마지막으로 아래 명령어를 실행하여 상태를 확인하세요:

git status

Git 제거 상태 확인

유용한 git status 옵션

git status 명령어와 함께 다양한 옵션을 사용하여 출력 표시 방식을 변경할 수 있습니다. 예를 들어:

  • git status --short를 사용하여 간결한 요약을 얻을 수 있습니다.
  • git status -u는 추적되지 않는 파일이 표시되는 방식을 제어합니다.
  • git status -u=normal은 일반적인 방식으로 추적되지 않는 파일을 표시합니다.
  • git status -u=all은 추적되지 않는 디렉토리 내의 모든 개별 파일을 표시합니다.
  • 추적되지 않는 파일 없이 더 깔끔한 보기를 원한다면 git status -u=no를 사용할 수 있습니다.
  • git status --porcelain 옵션은 기계가 읽을 수 있는 형식으로 출력을 제공하며, 스크립팅 및 자동화 작업에 특히 유용합니다.

최종 생각

git status 명령어는 현재 작업 디렉토리와 스테이징 영역에 대한 명확하고 상세한 개요를 제공합니다. 수정된 파일, 스테이징된 파일, 추적되지 않는 파일 또는 커밋할 준비가 된 파일을 이해하는 데 도움이 됩니다. 이 명령어를 사용하면 워크플로를 정리하고 원하지 않는 변경 사항을 커밋하는 것을 피하며 항상 프로젝트의 현재 상태를 숙지할 수 있습니다.

git status 외에도 git 폴더의 캐시를 관리하기 위한 git cache 명령어에 대해서도 배워야 합니다.