힘내 튜토리얼-차이점을 비교하는 diff

Jinku Hu 2024년2월15일
  1. Working Copy 와 리포지토리의 차이점 확인
  2. 힘내 diff 외부 도구
  3. 준비 영역과 리포지토리의 차이점 확인
힘내 튜토리얼-차이점을 비교하는 diff

기본 파일에서 작업중인 파일 인 작업 사본과 저장소 간의 변경 사항 또는 차이점을 보는 방법을 보여줍니다. 두 번째 부분에서는 준비 영역과 리포지토리를 비교하는 방법을 보여줍니다.

Working Copy 와 리포지토리의 차이점 확인

파일을 저장하면 작업 사본에있는이 파일이 저장소의 파일과 다릅니다. 그러나 이러한 변화를 정확히 어떻게 볼 수 있습니까? 때때로 우리는 파일을 약간 변경했고 저장소에서 파일을보고 싶기 때문에 코드에서 작업 할 때마다 변경 사항이 무엇인지, 이것이 어떻게 영향을 미치는지 알고 싶기 때문에 많은 일이 발생합니다. 주요 프로젝트.

따라서 우리가 할 수있는 첫 번째 일은 git status를 확인하는 것입니다. 하나의 파일이 수정 된 것을 발견했습니다. 이는 메인 프로젝트 나 메인 리포지토리의 파일과 다릅니다. git diff 를 입력하고 Enter 키를 누르면 차이점이 표시됩니다.

$ git diff
diff --git a/test1.txt b/test1.txt
index e1dd8e3..448ad04 100644
- -- a/test1.txt
+++ b/test1.txt
@@ -1,2 +1,2 @@
- This is my first Git repository.
- New added text.
\ No newline at end of file
+This was my first Git repository.
+This line is updated.
\ No newline at end of file

git bash 의 빨간색 텍스트는 저장소의 내용을 나타내고 녹색은 텍스트가 수정되는 방법을 나타냅니다.

마지막 커밋 후에 더 많은 파일이 업데이트되면 Git 은 파일 차이를 하나씩 나열합니다.

힘내 diff 외부 도구

기본 diff 툴을 사용하지 않았다면 difftool 을 원하는 툴로 구성 할 수 있습니다.

kdiff3 을 Git 의 diff,merge 도구로 구성하는 방법을 보여줄 것이다.

.gitconfig 파일 디렉토리 변경

Windows OS 에서는 C:\Users\username 디렉토리에서 .gitconfig 파일을 열고 파일에 텍스트를 추가하십시오.

[diff]
    tool = kdiff3
[difftool "kdiff3"]
    path = "C:/Program Files/KDiff3/kdiff3.exe"
    trustExitCode = false
[difftool]
    prompt = false
[merge]
    tool = kdiff3
[mergetool "kdiff3"]
    path = "C:/Program Files/KDiff3/kdiff3.exe"
    trustExitCode = false
[mergetool]
    keepBackup = false

여기서 pathkdiff3 의 설치된 경로이며, 여러분의 입장에서 다를 수 있습니다.

git bash 를 통해 difftool 설정

git bash 의 명령을 사용하여 difftool 또는 mergetool 을 구성 할 수도 있습니다.

git config --global --add merge.tool kdiff3
git config --global --add mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
git config --global --add mergetool.kdiff3.trustExitCode false

git config --global --add diff.guitool kdiff3
git config --global --add difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
git config --global --add difftool.kdiff3.trustExitCode false
git config --global --add difftool.prompt false

.gitconfig 파일 내용을 수정하는 것과 기본적으로 같은 일을했습니다.

준비 영역과 리포지토리의 차이점 확인

git difftool 명령을 사용하여 작업 복사본과 저장소의 파일 차이를 검토 할 수 있습니다.

힘내 Difftool-kdiff3

git diff 는 작업 복사본과 저장소의 차이를 보여 주며, 파일이 이미 준비 영역에 추가 된 후에는 git diff 는 준비 영역과 저장소를 비교하지 않기 때문에이 파일의 차이를 보여주지 않습니다. 그렇기 때문에이 파일이 여전히 저장소의 파일과 다르더라도 모든 것이 최신 인 것처럼 보입니다.

준비 단계와 저장소를 비교하는 올바른 명령은 git diff 뒤에--staged 옵션을 추가하는 것입니다.

$ git diff --staged
diff --git a/test1.txt b/test1.txt
index e1dd8e3..448ad04 100644
- -- a/test1.txt
+++ b/test1.txt
@@ -1,2 +1,2 @@
- This is my first Git repository.
- New added text.
\ No newline at end of file
+This was my first Git repository.
+This line is updated.
\ No newline at end of file
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook