줄 번호와 변경된 파일 이름 만 ‘git diff’로 만들 수 있습니까? 않으면 이

이 질문은 “행 번호”를 요구합니다. 출력의 행 번호에 신경 쓰지 않으면 이 질문과 답변을 참조하십시오 .


기본적으로 변경된 내용, 파일 이름 및 줄 번호를보고 싶지 않습니다.



답변

참고 : 변경된 파일 의 이름찾고있는 경우 (변경 된 줄 번호 없이 ) 쉽게 할 수 있습니다 . 여기에서 다른 답변 링크를 클릭하십시오 .


아무 이것에 대한 옵션을 내장하지 (그리고 나는 모든 중 유용한 것을 생각하지 않습니다)하지만 입니다 “외부 DIFF”스크립트의 도움으로, 자식에서이 작업을 수행 할 수.

여기 꽤 엉뚱한 것이 있습니다. 출력을 원하는 방식으로 수정하는 것은 사용자의 몫입니다.

#! /bin/sh
#
# run this with:
#    GIT_EXTERNAL_DIFF=<name of script> git diff ...
#
case $# in
1) "unmerged file $@, can't show you line numbers"; exit 1;;
7) ;;
*) echo "I don't know what to do, help!"; exit 1;;
esac

path=$1
old_file=$2
old_hex=$3
old_mode=$4
new_file=$5
new_hex=$6
new_mode=$7

printf '%s: ' $path
diff $old_file $new_file | grep -v '^[<>-]'

“외부 diff”에 대한 자세한 내용 GIT_EXTERNAL_DIFFgit 매뉴얼 페이지 의 설명을 참조하십시오 .


답변

너무 쉽게:

git diff --name-only

가서 diff!


답변

변경된 줄 수 또는 변경 사항을 포함하는 실제 줄 번호와 같은 줄 번호? 변경된 줄 수를 원하면을 사용하십시오 git diff --stat. 이것은 다음과 같은 디스플레이를 제공합니다.

[me@somehost:~/newsite:master]> git diff --stat
 whatever/views/gallery.py |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

변경 사항 자체의 줄 번호를 가져 오는 옵션은 없습니다.


답변

git diff master --compact-summary

출력은 다음과 같습니다

 src/app/components/common/sidebar/toolbar/toolbar.component.html   |  2 +-
 src/app/components/common/sidebar/toolbar/toolbar.component.scss   |  2 --

이것이 바로 당신이 필요로하는 것입니다. 커밋을 만들거나 원격에서 새 커밋을 가져올 때와 같은 형식입니다.

추신 : 아무도이 방법으로 대답하지 않은 것으로 유선.


답변

1) 내가 좋아하는 것 :

git diff --name-status

파일 상태 앞에 붙습니다. 예 :

A   new_file.txt
M   modified_file.txt
D   deleted_file.txt

2) 통계를 원하면 다음을 수행하십시오.

git diff --stat

다음과 같은 내용이 표시됩니다.

new_file.txt         |  50 +
modified_file.txt    | 100 +-
deleted_file         |  40 -

3) 마지막으로 파일 이름 만 정말로 원한다면 :

git diff --name-only

단순히 보여줄 것이다 :

new_file.txt
modified_file.txt
deleted_file


답변

지금과 지정된 커밋 사이에서 각 파일에서 변경된 파일 이름과 행 수 / 숫자를 표시합니다.

git diff --stat <commit-hash>


답변

나는 이것이 오래된 질문이라는 것을 알고 있지만 Windows에서는 파일에 대한 git 출력과 변경된 줄 번호를 필터링합니다.

(git diff -p --stat) | findstr "@@ --git"

diff --git a/dir1/dir2/file.cpp b/dir1/dir2/file.cpp
@@ -47,6 +47,7 @@ <some function name>
@@ -97,7 +98,7 @@ <another functon name>

파일과 변경된 줄을 추출하는 것이 약간 더 많은 작업입니다.

for /f "tokens=3,4* delims=-+ " %f in ('^(git diff -p --stat .^) ^| findstr ^"@@ --git^"') do @echo %f

a/dir1/dir2/file.cpp
47,7
98,7