전체 컨텍스트에서 git diff를 얻으려면 어떻게 해야 합니까?
전체 컨텍스트가 있는 패치를 만들려면 어떻게 해야 합니까?
나는 노력했다.--unified=2000, 이를 통해 2000 줄의 컨텍스트를 제공합니다.
git diff --unified=2000 branch master --no-prefix > patch
최대 줄 수를 지정하지 않고 파일에 모든 줄을 포함하려면 어떻게 해야 합니까?
이것은 꽤 잘 작동하는 것 같습니다.
git diff --no-prefix -U1000
주의 사항:
그
-Uflag는 컨텍스트의 선을 지정합니다.변경 내용 사이에 줄 수가 1000개 이상인 경우 이 값을 늘려야 할 수도 있습니다.
이것이 오래된 것은 알지만, 하드 코딩 방식의 솔루션도 싫어하기 때문에 테스트해 보았습니다.
git diff -U$(wc -l MYFILE)
-U를 사용하는 것만이 문제에 접근할 수 있는 유일한 방법인 것처럼 보이지만 라인 수를 사용하는 것은 매우 큰 파일의 작은 변경에도 효과가 있을 것임을 보장합니다.
참고: git1.8.1rc1 발표(2012년 12월 8일)에는 다음이 포함됩니다.
새 구성 변수 ""
diff.context를 사용하여 패치 출력의 기본 컨텍스트 줄 수를 지정하여 하드코딩된 기본값인 3줄을 재정의할 수 있습니다.
그래서 좀 더 완벽한 상황을 만들어 낼 수 있을 겁니다
영감을 받아서 깃 가명을 붙였어요
$ cat ~/.gitconfig | fgrep diff
df = "!git diff -U$(wc -l \"$1\" | cut -d ' ' -f 1) \"$1\""
$ git df <file>
업데이트:
방금 찾았습니다.git df깃 별칭을 실행할 때 디렉터리가 변경되어 작동하지 않는 경우가 있습니다.(git alias가 잘못된 디렉토리에서 작동하는 것을 참조하십시오.또한 @Moises Soto는 macOS에서 언급하였습니다.wc명령은 다르게 작동합니다(앞에 6칸).wc -l출력) 및 사용을 제안합니다.awk. 업데이트된 버전입니다.
$ cat ~/.gitconfig | fgrep df
df = "! [ \"$GIT_PREFIX\" != \"\" ] && cd \"$GIT_PREFIX\"; ~/bin/git_df.sh"
$
$ cat ~/bin/git_df.sh
#!/bin/bash
for FILE in $@; do
git diff -U$(wc -l "${FILE}" | awk '{print $1}') "${FILE}"
done
exit 0
macOS에서는 이것이 통했습니다.
git diff -U$(wc -l main.htm | xargs)
"Bash 변수에서 공백을 자르는 방법"을 참조하십시오.
저는 그냥 사용합니다.
git diff -W Git.md
파일의 전체 패치를 나열합니다.부터man git diff:
-W, --function-context
각 변경에 대한 전체 기능을 컨텍스트 라인으로 표시합니다.
이전에 승인된 솔루션은 특정 파일/커밋을 볼 때 사용할 수 없습니다.-U옵션이 rev/path parsing)을 엉망으로 만드는 것 같지만,--inter-hunk-context=이 경우에 작용합니다.git version 2.24.0:
git diff \
--no-prefix \
--inter-hunk-context=2000 \
master -- \
path/to/file.py
파일 크기를 모르면 당연히 다음과 같이 찾을 수 있습니다.wc -l하드 coding 대신:
git diff \
--no-prefix \
--inter-hunk-context=$(wc -l path/to/file.py) \
master -- \
path/to/file.py
언급URL : https://stackoverflow.com/questions/13627598/how-do-i-get-git-diff-with-full-context
'programing' 카테고리의 다른 글
| C로 인쇄하는 방법 (0) | 2023.10.22 |
|---|---|
| 변수에 명명된 자바스크립트 함수 호출 (0) | 2023.10.22 |
| 'ID' 특성 대신 'Class'를 사용하도록 WordPress Jetpack 플러그인 수정 (0) | 2023.10.22 |
| Python Pandas는 데이터 프레임의 행을 복제합니다. (0) | 2023.10.22 |
| Apache Commons Logging의 런타임 검색 알고리즘의 문제점은 무엇입니까? (0) | 2023.10.22 |