파일 확장명을 기반으로 Gitdiff를 필터링하는 방법은 무엇입니까?
제한할 수 있는 옵션이 있습니까?git diff
파일 확장명 집합으로 이동하시겠습니까?
예, 만약 당신이 당신의 셸이 아닌 glob을 확장하는 것을 확실히 한다면, 그것은 어떤 수준에서도 일치할 것이고, 그래서 이것과 같은 것(인용문이 중요합니다)은 잘 작동할 것입니다.
git diff -- '*.c' '*.h'
파일을 재귀적으로(현재 dir 포함) 포함하려면 다음과 같이 해야 합니다.
git diff -- '***.py'
셸의 Globstar(재귀 1,2:검색 수행)를 사용합니다.
shopt -s globstar
git diff -- *.py **/*.py
또는 찾기를 사용합니다.
find -name '*.py' -print0 | xargs -0 git diff --
이 두 가지 모두 특수 이름과 공백 증명입니다.확장명이 .py인 디렉토리를 필터링할 수도 있지만 :)
나는 하는것을 좋아합니다git diff -- {.,**}/*.py
보통
2 globstar가 활성화되면,git diff -- **/*.py
이미 포함됨./*.py
Bash의 manpage에서 '/ 뒤에 /가 붙으면 인접한 두 *가 디렉터리와 하위 디렉터리만 일치합니다.'
git 버전 2.18.0에서 테스트한 것처럼 파일 확장명은 큰따옴표로 묶어야 합니다.풀링 후 로컬 리포지토리와 원격 리포지토리 간의 마지막 차이점을 찾으려면 다음을 사용할 수 있습니다.
git diff YourBranchName@{1} YourBranchName --name-only "*.YourFileExtionsion"
예:
git diff master@{1} origin/master --name-only "*.cs"
단순한 파일 패턴의 경우 다음과 같이 작동합니다.
$ git ls-files -zm '*.txt' | xargs --null git diff
공백이 안전하며 여러 개의 확장자를 사용할 수도 있습니다.
$ git ls-files -zm '*.h|*.c|*.cpp' | xargs --null git diff
확장에 대한 명령줄 인수입니다.
git diff *.py
다른 방법으로 파이프를 사용할 수 있습니다.find
안으로git diff
:
find . -name '*.py' -type f | git diff --
위의 답변 중 어떤 것도 아래에서 나에게 효과가 없는 것 같습니다.git bash
Windows에서.버전(1.8.4 사용)인지 Windows/Bash 버전인지 확실하지 않습니다. 또한 저의 경우 각 분기에 다른 분기에 없는 추가 파일이 있는 두 분기를 분산하고 싶었습니다(따라서 '찾기' 기반 파일은 누락됨).
어쨌든 이것은 저에게 효과가 있었습니다(제 예에서는 파이썬 파일 간의 차이를 찾는 것).
git diff branch1 branch2 -- `git diff --summary branch1 branch2 | egrep '\.py$' | cut -d ' ' -f 5`
파람스의 주문이 차이를 만들어낸다는 점에 주목...예:
git diff master --name-only --relative -- "**/*.ts" "**/*.tsx" "**/*.js" "**/*.jsx" "**/*.vue"
'diff' 뒤에 'master'가 와야 합니다.
git diff
단계화되지 않은 파일에서만 차이를 표시합니다.
저는 이 질문을 제외하고 싶어서 찾았습니다..info
에서 파일git diff
로 무대를 꾸며서 이를 달성했습니다.git add *.info
그러면 남은 파일이 줄어듭니다.
나는 결국 이것으로 끝났습니다.
commit=<the_commit_hash_goes_here> && git diff --name-only $commit | grep -i Test | egrep -v '\.sql$' | xargs git diff $commit --
파일 이름에 'test'(대소문자 구분 안 함)라는 단어가 포함되어 있고 다음으로 끝나지 않는 경우에만 지정된 커밋에 대한 diff가 표시됩니다..sql
필요에 따라 파이프라인을 수정합니다.
언급URL : https://stackoverflow.com/questions/8554776/how-to-filter-git-diff-based-on-file-extensions
'programing' 카테고리의 다른 글
Oracle은 단락 평가를 사용합니까? (0) | 2023.06.24 |
---|---|
Mongoid 파인더가 작동하지 않나요? (0) | 2023.06.24 |
ASP.NET ID 2에서 "잘못된 토큰" 오류가 발생함 (0) | 2023.06.24 |
앱스토어 릴리스 시 증가해야 하는 iOS 앱 버전/빌드 번호는 무엇입니까? (0) | 2023.06.24 |
세 번째 게시물마다 루프를 다시 실행하시겠습니까? (Wordpress) (0) | 2023.06.24 |