git diff
관련이 있나요 diff
?
git diff
기반으로 합니까diff
?예명령줄 구문
git diff
~처럼하나diff
? 하나를 배우는 것이 다른 하나를 사용하는 데 많은 도움이 됩니까?출력 파일이 동일한 형식을 따르나요? 동시에
git patch
사용할 수 있나요patch
? ( 가 있나요git patch
? 와 무슨 관련이 있나요patch
?)
감사해요.
답변1
파일 형식은 상호 운용 가능합니다. Git은 가장 좋은 형식을 사용하며, diff -u
.it은 이를 확장하여 다른 유형의 변경 사항도 나타냅니다.
이에 상응하는 patch
것은 git apply
인덱스의 변경 사항을 단계적으로 조정하고 이를 작업 트리에 적용하는 것입니다.
참조 문서에서는 명시적인 비교를 하지 않는 것 같지만 git apply
보다 엄격했던 것으로 기억합니다 . patch
활성화하거나 비활성화할 수 있는 여러 테스트/버그가 언급되어 있습니다.
참조 문서에서는 옵션 중 하나를 사용하면 git 저장소 외부에서도 "GNU 패치 대체"로 사용할 수 있다고 제안합니다.
답변2
git-diff는 diff보다 더 많은 기능을 제공합니다. diff가 다음과 같은 줄을 생성하기 때문에 출력 패치가 (일부 추가 옵션 없이) 상호 운용 가능하다고 생각하지 않습니다.
diff -ruNa dir1/file1.txt dir2/file1.txt
그리고 git-diff는 다음과 같은 라인을 생성합니다
diff --git a/dir1/file1.txt b/dir2/file1.txt
--no-prefix
( 다른 옵션을 사용하여 전환 할 수 있는 소스 및 대상 접두사에 유의하세요 .)
git-diff의 추가 기능은 다음과 같습니다.
이동한 파일이나 이름이 변경된 파일을 녹음할 수 있습니다.차이는 있을 수 없다
재귀 모드 사용, diff 통합 및 기본적으로 새/삭제된 파일 처리(
diff -ruN
)차이점을 찾기 위해 다양한 알고리즘을 지원합니다.
바이너리 데이터를 ASCII로 인코딩하는 git 바이너리 패치 지원