Git에서 파일, 커밋 및 분기 비교

John Wachira 2022년6월21일
Git에서 파일, 커밋 및 분기 비교

이 기사는 git diff 명령을 사용하여 Git에서 파일, 커밋 및 분기를 비교하는 방법을 알려줍니다. git diff 명령을 사용하여 두 개의 커밋 또는 저장소의 현재 상태와 이전 커밋으로 인한 파일 간의 차이를 표시합니다.

이 명령은 데이터 소스를 비교할 때 유용합니다.

git diff 명령

통사론:

git diff

기본적으로 이 명령은 저장소에 커밋되지 않은 변경 사항을 표시합니다.

이 명령은 원본 파일에서 제거 및 추가된 모든 코드 라인을 보여줍니다. 몇 가지 예를 살펴보겠습니다.

Git Diff 커밋

아래 컨텍스트에서 동일한 분기의 두 커밋을 비교할 수 있습니다.

git diff <commit-1-id> <commit-2-id>

예시:

다음은 로컬 저장소에 대한 커밋 기록입니다.

$ git log --oneline
c84e6f9 (HEAD -> main) Third Code Correction
9af4e38 Second Code Correction
a45ca97 First Code Correction
8c1cefc My Commit Message
c5bf6c8 Sixth Commit
3b641e0 Fourth Commit
21ca1e7 Third Commit
b2f7710 Initial commit

Third Code CorrectionSecond Code Correction 커밋 간의 차이점을 확인하려는 시나리오에서 어떻게 해야 할까요?

git diff 명령을 실행하고 아래와 같이 두 커밋의 해시를 언급합니다.

$ git diff 9af4e38 c84e6f9
diff --git a/insert.php b/insert.php
index 985a7af..a5f31c6 100644
--- a/insert.php
+++ b/insert.php
@@ -1,7 +1,6 @@
 <?php
 // Use ls command to shell_exec function
 $output = shell_exec('git');
-
 // Display the list of all files and directories
 echo "<pre>$output</pre>";
 ?>

위의 출력은 67 라인에서 차이를 보여줍니다. Third Code Correction 커밋이 67 줄에서 빈 코드 줄을 제거한 것을 볼 수 있습니다.

Git 차이점 분기

저장소의 두 분기를 비교하기 위해 이 명령을 실행합니다.

git diff <branch1> <branch2>

master 분기와 dev.7이라는 다른 분기를 비교하려는 경우 이 명령을 실행합니다.

git diff master dev.7

분기 사이에 두 개의 점을 추가하면 Git은 둘 사이의 최신 커밋을 비교합니다.

Git diff 파일

아래 컨텍스트에서 git diff 명령을 사용하여 저장소의 두 파일을 비교할 수 있습니다.

git diff <path-to-file1> <path-to-file2>

예시:

$ git diff Head:sample.php HEAD:insert.php
diff --git a/sample.php b/insert.php
index dce9c57..a5f31c6 100644
--- a/sample.php
+++ b/insert.php
@@ -1,14 +1,6 @@
 <?php
-    $a= 23;
-    $nationality = "Dutch";
-    //applying conditions on nationality and age
-    if ($nationality == "Dutch")
-    {
-        if ($a >= 18) {
-            echo "Eligible to vote";
-        }
-        else {
-            echo "Not eligible to vote";
-        }
-    }
+// Use ls command to shell_exec function
+$output = shell_exec('git');
+// Display the list of all files and directories
+echo "<pre>$output</pre>";

git diff 명령에서 분기를 어떻게 지정했는지 주목하십시오. 파일이 다른 분기에 있는 경우 각 파일에 대해 분기를 지정해야 합니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

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

관련 문장 - Git Diff