Git 커밋에 파일 표시
팀 프로젝트에서 작업할 때 과거 커밋의 진행 상황을 보려면 커밋된 파일을 확인해야 합니다. git 원격 저장소에 정기적으로 코드를 커밋하여 프로젝트에 참여하는 모든 프로그래머 또는 개발자는 이러한 상황을 경험합니다.
일부는 이에 대한 완전한 정보가 필요하고 일부는 이름만 있는 파일 목록을 확인하기를 원합니다. 파일을 검토하는 방법은 다양합니다.
이 기사에서는 Git 명령줄을 사용하여 전체 정보를 보는 대신 파일 목록을 확인하는 방법에 대해 설명합니다.
git diff-tree
명령을 사용하여 Git 커밋에서 파일 표시
이 명령은 과거에 Git에서 커밋된 변경 사항을 비교하는 데 사용됩니다. 두 세트의 입력 데이터를 가져와서 해당 세트의 출력을 얻을 수 있습니다(과거에 두 세트 간에 수정).
작업 트리와 인덱스 또는 두 개의 트리, 디스크에 있는 두 개의 파일 또는 원격 리포지토리에 있는 두 개의 Blob 개체 간에 수행된 변경 사항을 보여줍니다.
파일 목록을 확인하는 주요 명령은 git diff-tree
입니다. Git에서 Plumbing 명령으로 간주되기 때문에 커밋에 파일을 나열하는 데 선호되는 방법이라고 합니다.
Blob 모드나 텍스트 내용을 비교해야 하는 경우 Git에서 여러 트리 개체를 통해 파일을 나열하여 수행할 수 있습니다.
예제 명령:
git diff-tree --no-commit-id --name-only -r <sha1-commit-hash>
위의 명령 결과는 과거에 원격 저장소에 푸시된 파일의 이름을 표시합니다.
출력:
Test.html
javascript/Vue.js
javascript/App.js
다음은 위의 샘플 명령에 사용된 인수 세부 정보입니다.
--no-commit-id
는 커밋의 ID 출력을 억제합니다.--name-only
는 영향을 받는 파일의 이름만 표시합니다.--name-status
를 사용하여 파일이 편집, 수정 또는 삭제되었는지 여부를 표시할 수도 있습니다.-r
은 하나씩 처리하여 하위 트리로 이동합니다.
git show
명령을 사용하여 Git 커밋에서 파일 표시
다음은 파일을 나열하는 또 다른 방법이지만 사용자 친화적 인 Porcelain 명령이므로 바람직하지 않습니다.
예제 명령:
git show --pretty="" --name-only <sha1-commit-hash>
다시, 위의 명령 결과는 과거에 원격 저장소에 푸시된 파일의 이름을 표시합니다.
출력:
Test.html
javascript/Vue.js
javascript/App.js
아래는 위의 샘플 명령에 있는 인수에 대한 세부 정보입니다.
--pretty
는 처음에 원하지 않는 것을 피할 수 있도록 빈 형식 문자열을 설명합니다.--name-only
는 파일 이름만 표시합니다. 또는--name-status
를 대신 사용하여 파일 상태를 표시할 수 있습니다.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn