diff
설명대로 사용하고 싶습니다여기문서에 를 입력하면 man diff
다음 diff
과 같은 결과가 나타납니다.
~ ❯❯❯ diff
usage: git diff --no-index <path> <path>
마찬가지로, 내가 시도할 때사용 diff
-rq
, 지원되지만 지원 man diff
되지 않기 때문에 git 오류가 발생합니다 git diff
.
~ ❯❯❯ diff -rq ~/ ~/Desktop
fatal: invalid diff option/value: -rq
나는 그것을 사용하고 있다프레스토 악장그리고센터둘 다 Git 생산성을 향상시키는 데 도움이 되지만 둘 다 부적합한 별칭을 생성하지 않습니다.적어도g
내가 아는 한, 처음부터.
나는 다음과 같은 스크립트를 실행했습니다.이것몇 가지 정의를 찾으려고 노력했지만 diff
소용 git diff
이 없었습니다.
이 문제를 어떻게 해결하고 원인을 찾고 재정의할 수 있나요?
편집하다
하지만 type diff
:
diff is a shell function
diff is /usr/bin/diff
답변1
이거에서 나온거 같은데prezto는 함수 재정의를 정의합니다diff
. 비활성화하는 방법이 있을 것 같지만 그것이 무엇인지는 모르겠습니다(하지만 에릭네는 해냈습니다!). 여러 가지 옵션이 있습니다:
/usr/bin/diff
또는 둘 다 기능 대신 명령을command diff
실행합니다 .diff
unset -f diff
이diff
기능은 제거됩니다. 이를 쉘 구성에 넣을 수 있습니다.- 발견한 대로,
colordiff
설치 되면git diff
해당 기능보다 우선적으로 사용됩니다. - 마지막으로 파일 자체에서 함수를 제거하거나 이름을 바꿀 수 있습니다.
프레즈토의 버그인 것 같습니다.
답변2
나는 이런 기능을 사용할 것이다
$ diffit () {
command diff "$@"
}
매개변수가 있는 별칭에 대한 함수
용법:diffit file1 file2
이것을 .bashrc에 넣을 수 있습니다.
저는 개인적으로 함수 컬렉션을 보관하고 있습니다 .bash_functions
..bashrc
test -f ~/.bash_functions.sh && . $_
답변3
@MichaelHomer가 대답했듯이 이것은 다음에 문서화된 유틸리티 모듈의 일부인 prezto 함수입니다.https://github.com/sorin-ionescu/prezto/tree/master/modules/utility. 이 기능을 비활성화하는 방법은 다음과 같습니다.
diff 강조 표시를 비활성화하려면 zpreztorc에 다음 줄을 추가하십시오.
zstyle ':prezto:module:utility:diff' color 'no'
또는 설치 시 colordiff
사용자 정의 함수가 이를 대신 호출하게 됩니다 git diff
. 사용자 정의 prezto의 목적은 다음 diff
과 같습니다.
diff
차동 출력을 강조 표시합니다(colordiff
또는 필요Git
).