programing

Git 커밋의 변경 내용을 확인하려면 어떻게 해야 합니까?

css3 2023. 4. 10. 22:08

Git 커밋의 변경 내용을 확인하려면 어떻게 해야 합니까?

가 할 때git diff COMMIT그 커밋과 HEAD(제가 아는 한)의 변경은 있습니다만, 그 단일 커밋에 의해서 이루어진 변경을 보고 싶습니다.

확실한 수 없다difflog그 결과물을 얻을 수 있을 거야

COMMIT 여기서 "displaces", "displaces"COMMIT입니다.

git diff COMMIT~ COMMIT요.COMMIT 및 님의 조상COMMIT명령어 및 gitrevisions에 대한 자세한 내용은 git diff의 man 페이지를 참조하십시오.~표기법과 그 친구.

,,git show COMMIT(커밋의 데이터는 그 차이를 포함하지만 병합 커밋에 대한 데이터는 아닙니다.)git show manpage를 참조해 주세요.

)git diff COMMIT요.COMMIT★★★★★★★★★★★★★★★★」

"Shorthand for diff of git commit with the parent with the parent?"에서 언급한 바와 같이 다음과 같이 사용할 수 있습니다.

git diff COMMIT^!

또는

git diff-tree -p COMMIT

git show에서는 (diff에만 집중하기 위해) 다음을 수행해야 합니다.

git show --color --pretty=format:%b COMMIT

COMMIT파라미터는 commit-ish 입니다.

커밋 오브젝트 또는 커밋 오브젝트를 재귀적으로 참조할 수 있는 오브젝트.커밋 오브젝트, 커밋 오브젝트를 가리키는 태그 오브젝트, 커밋 오브젝트를 가리키는 태그 오브젝트 등 모두 커밋에시입니다.

commit-ish를 참조하려면 gitrevision "SPECIFICING REVIES"를 참조하십시오.
"Git에서 트리쉬란 무엇입니까?"를 참조하십시오.

다음과 같은 간단한 방법을 사용할 수도 있습니다.

git show <COMMIT>

git show에 최신 커밋에서 이루어진 변경을 나타냅니다.은 와와다다 it에 해당합니다.git show HEAD.

git show HEAD~11월 1일

나는 보통 다음을 한다.

git diff HEAD~1

마지막 커밋에 대한 변경 내용을 표시합니다.더 많은 커밋이 있는 경우 숫자 1을 원하는 커밋 수로 늘립니다.

용도:

git show <commit_sha>

이것은 그 커밋의 내용을 보여 줍니다.범위를 지정하려면 2개의 커밋 SHA-1 해시 사이에 공간을 삽입합니다.

git show <beginning_sha> <ending_sha>

기능 로그가 모두 일렬로 되어 있기 때문에 기본 설정을 자주 변경할 경우 매우 유용합니다.

마지막 3개의 커밋을 참조하려면 HEAD 구문을 사용할 수 있습니다.

git show HEAD~3 HEAD

먼저 커밋 ID를 취득합니다.

git log #to list all

또는

git log -p -1 #last one commit id

커밋 ID를 복사합니다.

다음으로 특정 커밋에서 변경된 사항을 나열하기 위해 두 가지 방법을 사용합니다.

방법 1:

git diff commit_id^! #commit id something like this 1c6a6000asad012

방법 2:.

git show commit_id
For example: git show 1c6a600a

나한텐 이게 잘 돼

git show COMMIT --compact-summary

다음 정보가 표시됩니다.

파일 작성 또는 삭제("new" 또는 "gone", Symblink인 경우 옵션 "+l") 및 모드 변경("실행 가능 비트 추가 또는 제거를 위한 "-x") 등의 확장 헤더 정보에 대한 요약 요약을 diffstat에서 출력합니다.정보는 파일 이름 부분과 그래프 부분 사이에 삽입됩니다.--stat을 의미합니다.

git-diff(1)의 man 페이지에서 다음을 수행합니다.

git diff [options] [<commit>] [--] [<path>…]
git diff [options] --cached [<commit>] [--] [<path>…]
git diff [options] <commit> <commit> [--] [<path>…]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>

가운데 세 번째 것을 사용합니다.

git diff [options] <parent-commit> <commit>

, 같은 man 페이지의 하단의 「」섹션에서도, 다음의 순서에 따릅니다.

$ git diff HEAD^ HEAD      <3>

마지막 커밋 이전 버전과 마지막 커밋 이전 버전을 비교합니다.

약간 혼란스러운 표현이긴 하지만요.

최신 커밋과 그 전의 커밋을 비교합니다.

다음은 효과가 있는 것 같습니다.저는 머지에 의해 무엇이 도입되었는지를 보여주기 위해 사용합니다.

git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>

또 다른 가능성:

git log -p COMMIT -1

특정 커밋과 그 마지막 커밋을 비교하려면 다음 명령을 사용합니다.

git diff <commit-hash>^-

예:

git diff cd1b3f485^-

하면 .git diff HEAD HEAD^1부모 커밋과의 차이를 확인합니다.

" " 를 합니다.--stat★★★★★★ 。

git difftool COMMIT^ <commit hash>

는 difftool을 설정한 경우에도 사용할 수 있습니다.

difftool설정 방법을 참조해 주세요.또는 매뉴얼 페이지도 여기에 있습니다.

이 외에도 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 이런 것도 쓸 수 있어요.git diff-tree --no-commit-id --name-only -r <commit hash>give commit 해시에서 변경 또는 변경된 파일을 확인합니다.

작성자 및커밋별로 하려면 , 「」를 합니다.git show COMMIT

commit 13414df70354678b1b9304ebe4b6d204810f867e
Merge: a2a2894 3a1ba8f
Author: You <you@you.com>
Date:   Fri Jul 24 17:46:42 2015 -0700

     Merge remote-tracking branch 'origin/your-feature'

변경된 파일을 확인하려면 위의 [Merge] 값을 사용하여 다음 작업을 수행합니다.git diff --stat a2a2894 3a1ba8f.

을 실행합니다.git --stat a2a2894 3a1ba8f.

변경 내용을 확인하려면:

  git diff <commit_Id_1> <commit_Id_2>

변경/추가/삭제된 파일만 확인하는 경우:

  git diff <commit_Id_1> <commit_Id_2> --name-only

메모: commit을 사용하지 않고 diff를 체크하는 경우 commit ID를 입력할 필요가 없습니다.

커밋의 하려면 , 「 」를 해 주세요.git show그걸 줄 거예요.

다음 코드는 현재 커밋을 나타냅니다.

git show HEAD

몇 가지 답변은 특별한 경우를 놓친다.루트 커밋에 부모/컨테스트가 없기 때문에 이루어진 변경을 표시하는 방법.

둘다요.

git diff <root_commit>^..<root_commit>

그리고.

git diff <root_commit>~..<root_commit>

에러를 던지다

$git diff 27e521ca73a46b2d3a28568dc49fced81e46aaea~ 27e521ca73a46b2d3a28568dc49fced81e46aaea
fatal: ambiguous argument '27e521ca73a46b2d3a28568dc49fced81e46aaea~': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

git diff <root_commit>^!

에 diff btw root commit 및 HEAD를 나타냅니다.다음과 같은 경우:

$ git diff 27e521ca73a46b2d3a28568dc49fced81e46aaea^!
diff --git a/file1.txt b/file1.txt
new file mode 100644
index 0000000..80f3f1a
--- /dev/null
+++ b/file1.txt
@@ -0,0 +1,5 @@
+Create the first file.
+
+Add some placeholder text to first file.
+
+
diff --git a/file2.txt b/file2.txt
new file mode 100644
index 0000000..66e494f
--- /dev/null
+++ b/file2.txt
@@ -0,0 +1,6 @@
+This is the second file.
+
+It has an uncommited commit.
+
+We use it to demo default `git diff` behaviour.
+

(이러한 변경은 루트 커밋과 HEAD를 제외한 모든 커밋에 의해 이루어집니다).

루트 커밋의 경우

찾을 수 있는 것은

git show --color --pretty=format:%b <root_commit_hash>

작동하다.

다음과 같은 경우:

$ git show --color --pretty=format:%b 27e521ca73a46b2d3a28568dc49fced81e46aaea

diff --git a/README b/README
new file mode 100644
index 0000000..12a04f0
--- /dev/null
+++ b/README
@@ -0,0 +1,6 @@
+# git-diff-demo
+
+This repo documents the demo of the git diff command.
+We will have options, and use cases.

(루트 커밋으로 README만 추가)

이 명령어는 Git 부모 commit-hash를 가져옵니다.

git log -n 2 <commit-hash>

그 후git diff-tool <commit-hash> <parent-commit-hash>

예:

bonnie@bonnie ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3

commit 7f65b9a9d3820525766fcba285b3c678e889fe3b
Author: souparno <souparno.majumder@gmail.com>
Date:   Mon Jul 25 13:17:07 2016 +0530

CSS changed to maintain the aspect ratio of the channel logos and to fit them properly.

commit c3a61f17e14e2b80cf64b172a45f1b4826ee291f
Author: souparno <souparno.majumder@gmail.com>
Date:   Mon Jul 25 11:28:09 2016 +0530

The ratio of the height to width of the channel images are maintained.

이 후에

git difftool 7f65b9a9d3820525766fcba285b3c678e889fe3b c3a61f17e14e2b80cf64b172a45f1b4826ee291f

Windows 10에서 Git 버전 2.6.1.windows.1을 실행하고 있기 때문에 Nevik의 답변(carlet 대신 칠드)을 약간 수정해야 했습니다.

git diff COMMIT~ COMMIT

다른 옵션은 캐럿을 따옴표로 묶는 것입니다.

git diff "COMMIT^" COMMIT

파일 변경을 체크하기 위한 보다 미니멀한 접근법(예

# 1. Checkout a branch and see the list of commits
git log --oneline -5

# > Output
9b9b1f8 (HEAD -> master) Updated ABC
d58e5da chore: Added files
5a4aa2c chore: Added my pipeline
bb2b0b7 feat: Added ABC
473f711 feat: Added ZYX
# 2. Pick a commit hash and check which files were modified
git show --stat --oneline d58e5da

# > Output
d58e5da chore: Added versioning files
 Someabcfile                            | 18 ++++++++++++++++++
 myfolder/file.py                       | 19 +++++++++++++++++++
 myfolder/file.js                       |  7 +++++++
 myfolder/file.txt                      |  1 +
 4 files changed, 45 insertions(+)
# 3. Pick a file to check the differences
git show d58e5da myfolder12/file.py

또는 목록에서 단일 커밋 내의 모든 파일 차이를 확인합니다.

git show d58e5da

또한 특정 파일에 대한 두 개의 커밋 간의 변경 내용을 검토할 수도 있습니다.

git diff <commit_Id_1> <commit_Id_2> some_dir/file.txt

그래픽 뷰에서 소스 변경을 확인하는 경우 다음을 사용합니다.

gitk (your commit id goes here)

예를 들어 다음과 같습니다.

gitk HEAD~1 

커밋에서 변경된 파일 목록 가져오기:

git show --name-only commit_id

주의: 위의 명령어는 머지 ID에서는 동작하지 않습니다.


병합 커밋 ID에서 변경된 파일 목록을 가져오려면:

git log -m -1 --name-only commit_id


커밋 내의 특정 파일의 변경 내용을 표시합니다.git show commit_id:src/path/to/that/file

  1. git의 특정 주소에서 각 커밋을 클릭하여 표시할 수 있습니다.
  2. 도구를 사용하여 제출하면 show history를 전달할 수 있습니다.

언급URL : https://stackoverflow.com/questions/17563726/how-can-i-see-the-changes-in-a-git-commit