답변:
경로 (이 경우 myfolder)를 제공하고 다음을 실행하십시오.
git diff myfolder/
git diff -- myfoldergit에 대한 모호성을 최소화하기 위해 사용하고 싶습니다 . git diff (및 많은 git 명령)에 대한 일반적인 표기법은 git diff [commit-ish] -- [path]commit-ish 기본값이 HEAD (현재 위치)이고 [path]기본값이 git 루트 디렉토리이지만 현재 디렉토리와 관련된 모든 것이 될 수 있습니다. 이 없으면 --git은 당신이 의미하는 바를 추측 [commit-ish]하거나 [path]. 어떤 경우에는 이로 인해 git이 표기법이 '모호하다'고 말합니다. 내가 정확하게 기억한다면.
git diff master..develop myfolder/가 원래 질문에 대한 의견에서 말한 것처럼 비교하려는 분기를 포함 할 수 있습니다 . Git 상태는 원하는 경우 변경 사항을 보여줍니다.
다른 브랜치를 비교 --하는 경우 파일 시스템 경로에서 Git 개정판을 분리하는 데를 사용해야 합니다. 예를 들어, 두 개의 로컬 브랜치 master및 bryan-working:
$ git diff master -- AFolderOfCode/ bryan-working -- AFolderOfCode/
또는 로컬 지점에서 원격으로 :
$ git diff master -- AFolderOfCode/ origin/master -- AFolderOfCode/
추가 너머 비교 힘내에 difftool로하고 diffdir 별칭을 추가 :
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"
gitdiff를 다음과 같이 가져옵니다.
git diffdir 4bc7ba80edf6 7f566710c7
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"대신에
--no-symlinks명령이 다음과 같이 읽도록 옵션을 추가 해야합니다.git difftool --dir-diff --no-symlinks
경로를 추가 할 수있을뿐만 아니라 git diff --relative해당 폴더와 관련된 결과를 얻기 위해 추가 할 수도 있습니다 .
git -C a/folder diff --relative
Git 2.28 (2020 년 3 분기)에서는 " diff"계열 의 명령 이 " diff.relative"구성 변수 를 준수하는 방법을 배웠습니다 .
Laurent Arnoud ( )의 commit c28ded8 (2020 년 5 월 22 일)을 참조하십시오 . (Merged by Junio C Hamano -- in commit e34df9a , 02 Jun 2020)spk
gitster
diff: 구성 옵션 추가relative승인자 : Laurent Arnoud
승인자 : Đoàn Trần Công Danh으로
diff.relative설정된 부울 옵션 은 옵션true의path인수로 지정된 현재 디렉토리 / 값의 변경 사항 만relative표시하고 앞서 언급 한 디렉토리에 상대적인 경로 이름을 표시합니다.
--no-relative더 일찍 재정의하도록 가르치기--relativegit-format-patch (1) 옵션 문서
--relative및--no-relative
diff.relative:'
true'로 설정하면 ' 'git diff는 디렉토리 외부의 변경 사항을 표시하지 않고 현재 디렉토리에 상대적인 경로 이름을 표시합니다.
하위 디렉토리를 제외하려면 다음을 사용할 수 있습니다.
git diff <ref1>..<ref2> -- $(git diff <ref1>..<ref2> --name-only | grep -v /)
사용하려면 비교 너머를 활성화 디렉토리 DIFF에 대한 difftool로 기억하는 것은 심볼릭 링크가 너무 좋아 다음과 같습니다
A의 폴더보기 비교 → 규칙 (심판 아이콘) :
그런 다음 심볼릭 링크를 따르고 세션 기본값을 업데이트합니다.
또는,
다음과 같이 별칭을 설정하십시오.
git config --global alias.diffdir "difftool --dir-diff --tool=bc3 --no-prompt --no-symlinks"
두 경우 모두 현재 작업 트리를 참조하는 측면 (왼쪽 또는 오른쪽)에 대한 모든 편집 내용이 유지됩니다.
git diff master..yourbranch path/to/folder