Git의 커밋되지 않은 변경 사항에 대한 Diff 세부 정보 표시
이 기사에서는 Git에서 커밋되지 않은 작업에 대한 diff
세부 정보를 얻는 방법에 대해 설명합니다. git diff
명령을 사용하여 다양한 Git 참조(예: 커밋, 인덱스 및 작업 트리) 간의 차이점을 표시합니다.
아래에서 설명하는 것처럼 커밋되지 않은 작업의 세부 정보를 표시하는 명령을 사용할 수 있습니다.
Git의 커밋되지 않은 변경 사항에 대한 Diff 세부 정보 표시
더 쉬운 문맥을 위해 예제를 사용합니다. 아래 이미지가 저장소에 있는 작업 디렉토리의 현재 상태를 나타낸다고 가정해 보겠습니다.
위의 두 파일 모두 커밋되지 않은 작업 범주에 속합니다. 그러나 git diff
명령은 스테이징된 파일과 스테이징되지 않은 파일에 대해 동일하게 작동하지 않습니다.
더 명확한 그림을 위해 매개변수가 없는 기본 git diff
부터 시작하겠습니다.
$ git diff
출력:
매개변수가 없는 git diff
명령은 스테이지되지 않은 파일의 변경 사항만 표시한다는 것을 알 수 있습니다. Git 문서에서 매개변수가 없는 git diff
명령은 인덱스와 관련된 변경 사항을 표시합니다.
이러한 변경 사항은 인덱스로 이동해야 하지만 아직 추가되지는 않았습니다.
준비된 파일에 대한 diff
세부 정보를 어떻게 표시합니까?
준비된 파일의 변경 사항을 표시하기 위해 아래 그림과 같이 git diff
명령을 사용합니다.
$ git diff --cached
결과:
git diff
명령에 --cached
플래그를 추가하면 준비된 파일에 대한 diff
세부 정보가 표시됩니다. 사실 Git 문서에는 git diff --cached
가 현재 커밋(HEAD
)과 관련된 단계별 변경 사항을 표시한다고 명시되어 있습니다.
명령을 별도로 실행하지 않으려면 어떻게 해야 합니까?
단계적 및 단계적 변경에 대한 diff
세부 정보를 표시하려면 아래 그림과 같이 git diff
명령을 실행합니다.
$ git diff HEAD
결과:
git diff HEAD
명령은 작업 디렉토리와 현재 커밋 간의 diff
세부 정보를 표시합니다.
보너스 팁
위의 diff
세부 정보를 읽는 데 어려움이 있는 경우 Meld와 같은 타사 difftool
을 사용할 수 있습니다.
간단히 말해서 git diff
명령을 조작하여 파일 범주에 따라 커밋되지 않은 작업에 대한 diff
세부 정보를 표시할 수 있습니다. 우리는 Git에서 스테이징된 파일과 스테이징되지 않은 파일에 대한 diff
세부 정보를 표시하는 방법을 살펴보았습니다.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn