Git에서 두 커밋의 차이

Git은 오늘날 가장 까다로운 버전 관리 시스템입니다. 때때로 우리는 저장소의 일부 데이터를 다른 저장소에서 사용 가능한 다른 데이터 소스와 비교해야 하는 상황에 직면합니다. 여기에서는 이러한 저장소를 비교하는 방법에 대한 예제 중 하나를 논의합니다.
이 기사에서는 Git의 git diff
명령을 통해 두 개의 다른 커밋을 비교합니다.
git diff
명령
git diff
명령은 인덱스 및/또는 작업 트리 간의 변경 사항, 두 가지 다른 유형의 트리 간의 변경 사항, 병합의 결과로 발생하는 변경 사항, 두 BLOB 개체 간에 발생하는 변경 사항 또는 변경 사항일 수 있는 사항을 표시하는 데 사용됩니다. 동일한 디스크에 있는 두 개의 서로 다른 파일 간에 또한 파일에 어떤 텍스트가 포함, 제거 및 대체되었는지 확인할 수 있습니다.
git diff
명령의 구문은 아래에 표시됩니다.
git diff
위의 명령은 기본 옵션으로 작동하는 현재 저장소에 대한 커밋되지 않은 변경 사항을 보여줍니다.
커밋 간 git diff
Git에는 우리가 매일 직면하는 모든 상황에 대한 광범위한 명령이 있습니다. 두 커밋의 차이점을 알아보기 위해 Git이 제공하는 명령은 Git에서 diffing
기능을 활성화하는 git diff
입니다.
이 기능은 두 개의 변수를 입력으로 받은 다음 이들 사이의 변경 사항을 표시하여 수행됩니다. 변수는 해당 분기에 있는 파일의 커밋입니다.
여기에서 두 Git 커밋 간의 파일을 비교하고 비교할 커밋을 참조하는 ref
의 이름을 지정합니다. 여기에서 ref
는 커밋 ID
또는 HEAD
로 간주될 수 있으며 최근 분기를 직접 참조합니다.
위에서 논의한 상황에 대한 구문은 다음과 같습니다.
git diff <commit1> <commit2>
두 커밋의 차이점을 확인하기 위해 커밋 해시를 제공합니다. 커밋 해시는 완전한 SHA-1
해시, 약간의 SHA-1
해시 또는 조상 경로일 수 있습니다.
예를 들어 Git 리포지토리에서 두 커밋을 비교하고 있습니다. 비교할 파일이 있는 커밋의 ID
를 복구하기 위해 git log –pretty=oneline
명령을 실행합니다. 현재 가지고 있는 repo
에 있는 모든 커밋의 간결한 결과를 제공합니다.
git log --pretty=oneline
이 명령의 결과는 다음과 같습니다.
5141eaasasw323asassa2408bfcaassasa2323240 (HEAD ->; master) feat: Update README.md
3405340easagsdsaasa3232232395f1c2e docs: Create README.md
이 두 커밋을 비교한다고 가정해 보겠습니다. 다음 명령을 실행하겠습니다.
git diff 5141ea9c41qwqwqwqw3232saas3322323223a910f2405240 3405340ee99df2aa6f5a23aswwqwqqwqwqw95f1c2e
우리가 보았듯이 diffing
은 비교하려는 두 커밋에 대해 위의 명령을 통해 수행되며 결과는 이 두 파일의 차이점이 표시됩니다.
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