이 질문이 있으면 죄송합니다. 의외로 찾을 수 없습니다.
git diff동일한 브랜치 및 동일한 커밋 내에서 두 파일간에 어떻게 수행 할 수 있습니까?
즉 git diff fileA.php fileB.php
(이상적으로는 gitBeyondCompare 프로그램 이 제공하는 것과 유사한 읽기 쉬운 색상 코딩을 사용 합니다!)
이 질문이 있으면 죄송합니다. 의외로 찾을 수 없습니다.
git diff동일한 브랜치 및 동일한 커밋 내에서 두 파일간에 어떻게 수행 할 수 있습니까?
즉 git diff fileA.php fileB.php
(이상적으로는 gitBeyondCompare 프로그램 이 제공하는 것과 유사한 읽기 쉬운 색상 코딩을 사용 합니다!)
답변:
당신은 그것을 위해 git이 필요하지 않습니다, 그냥 사용하십시오 diff fileA.php fileB.php(또는 병렬 비교를 원한다면 vimdiff)
vimdiff승리를 위해! 감사!
git diff읽기 쉬운 diff를 찾고 있지 않다는 것을 의미한다 . 또한 그가 내 대답을 그가 찾고있는 것으로 받아 들였다는 사실은 그것이 실제로 대답을한다는 것을 나타냅니다.
diff fileA fileB없습니다git diff fileA fileB
당신이 사용하려는 경우 git diff두 개의 임의의 파일에 당신은 사용할 수 있습니다 git diff --no-index <file_a> <file_b>. 두 파일을 추적 할 필요가 없습니다.git .
--word-diff하이라이트뿐만 아니라 라인, 단어 변경
diff가지고 --color있는 힘의 도움 (참조, unix.stackexchange.com/a/338960 ). 그러나 그렇다하더라도, 사용하는 경우 diff-so-fancy, 특정 출력 형식을 요구하는 것 같다 git diff. diff -u( stackoverflow.com/a/4857407/10095231 참조 ) 작동하지 않습니다.
비교하려는 파일이 작업 복사본에 있으면 diff다른 파일이 가리키는대로 간단히 사용할 수 있지만 파일이 일부 개정판에있는 경우 각 파일에 대한 개정판을 지정할 수 있습니다.
git diff <revision_1>:<file_1> <revision_2>:<file_2>
여기에 명시된대로 : https://stackoverflow.com/a/3343506/1815446
귀하의 경우 (두 파일에 대해 동일한 개정을 지정) :
git diff <revisionX>:fileA.php <revisionX>:fileB.php
git diff --name-only HEAD:dir1 HEAD:dir1_backup 효과적 git add이었습니다. 두 디렉토리 중 하나 에서 작동합니다 .
일반 gnu diff를 git diff처럼 보이게하려면 다음 매개 변수를 권장합니다.
diff -burN file_or_dir1 file_or_dir2
( -b공백 무시, -u통합 차이, -r재귀, -N누락 된 파일을/dev/null ).
훌륭하게 작동하지만 여전히 색상이 없으며 git 스타일 자동 페이징이 거의 없습니다. 둘 다 고치려면 (I do) colordiff다음과 같이 설치 하고 사용하십시오.
colordiff -burN file_or_dir1 file_or_dir2 | less -R
이것은 실제에 매우 가까운 출력과 인터페이스를 제공합니다 git diff.
동일한 디렉토리에있는 두 개의 로컬 파일을 비교하려면 diff를 사용하십시오.
diff fileA.php fileB.php
일반 diff를 사용하십시오.
diff -Nua fileA.php fileB.php