문제
나는 뛰고있어 자식 비교 파일에 있지만 변경 사항은 긴 줄 끝에 있습니다.
커서 키를 사용하여 오른쪽으로 이동하면 색상 코딩이 손실되고 선이 정렬되지 않아 변경 사항을 추적하기가 더 어려워집니다.
해당 문제를 방지하는 방법이 있습니까, 아니면 단순히 줄 바꿈을 대신하는 방법이 있습니까?
(mingw32를 통해 git 1.5.5 실행)
해결책
출력의 표시 git diff
사용중인 호출기가 처리합니다.
일반적으로 Linux에서 less
사용될 것입니다.
GIT에게 다음을 설정하여 다른 호출기를 사용하라고 말할 수 있습니다. GIT_PAGER
환경 변수. 페이징에 대해 신경 쓰지 않으면 (예 : 터미널을 뒤로 스크롤 할 수 있음) 명시 적으로 설정하려고 시도 할 수 있습니다. GIT_PAGER
호출기를 사용하여 멈추기 위해 비우기 위해. Linux에서 :
$ GIT_PAGER='' git diff
호출기가 없으면 선이 감싸게됩니다.
터미널이 컬러 출력을 지원하지 않으면 --no-color
인수 또는 GIT 구성 파일의 색상 섹션에 항목을 넣습니다.
$ GIT_PAGER='' git diff --no-color
다른 팁
또는 기본 호출기로 덜 사용하면 유형 -S
더 적은 상태로 되돌릴 수있는 랩핑에 대한 차이를 보는 동안.
당신은 또한 사용할 수 있습니다 git config
포장 할 호출기를 설정합니다.
$ git config core.pager 'less -r'
현재 프로젝트의 호출기 설정을 설정합니다.
$ git config --global core.pager 'less -r'
모든 프로젝트에 대해 전 세계적으로 호출기를 설정합니다
완전한 신용으로 조쉬 딜 ~에 코멘트 에게 이 답변, 그럼에도 불구하고 나는 이것이 그 자체로 대답이 되어야 한다고 생각합니다. 그래서 다음을 추가합니다.
긴 줄의 차이점을 확인하는 한 가지 방법은 단어 중심 diff를 사용하는 것입니다.이 작업은 다음을 통해 수행할 수 있습니다.
git diff --word-diff
이 경우 라인 내에서 변경된 내용을 구체적으로 보여주는 상당히 다른 diff 출력을 얻게 됩니다.
예를 들어, 다음과 같은 것을 얻는 대신:
diff --git a/test-file.txt b/test-file.txt
index 19e6adf..eb6bb81 100644
--- a/test-file.txt
+++ b/test-file.txt
@@ -1 +1 @@
-this is a short line
+this is a slightly longer line
다음과 같은 결과를 얻을 수 있습니다.
diff --git a/test-file.txt b/test-file.txt
index 19e6adf..eb6bb81 100644
--- a/test-file.txt
+++ b/test-file.txt
@@ -1 +1 @@
this is a [-short-]{+slightly longer+} line
또는 다음 대신 색상화를 사용합니다.
당신은 이것을 얻을 수 있습니다 :
이제 정말 긴 줄을 비교하는 경우 원래 설명했던 호출기 상황에 여전히 문제가 있을 수 있으며 다른 답변에서 분명히 만족스럽게 해결되었습니다.하지만 이것이 라인에서 변경된 사항을 더 쉽게 식별할 수 있는 새로운 도구를 제공하기를 바랍니다.
호출기로 덜 사용하고 라인 랩핑을 영구적으로 만들려면 단순히 주름 라인 옵션을 활성화 할 수 있습니다.
git config --global core.pager 'less -+S'
이렇게하면 덜 사용하는 동안 입력 할 필요가 없습니다.
건배
그냥 이걸로 googled. GIT_PAGER='less -r'
나를 위해 일합니다
MAC OSX : 누군가 45 's'-S '를 제외한 다른 답변 중 어느 것도 저를 위해 일했지만 일했습니다. Word-grap을 지속적으로 만들기 위해서는 다음과 같습니다.
git config --global core.pager 'less -+$LESS -FRX'
git 1.5.3 이후 (2007 년 9 월)
ㅏ --no-pager
옵션을 사용할 수 있습니다.
git --no-pager diff
Git Diff가 호출기 사용을 방지하려면 어떻게해야합니까?
v2.1로 시작하여 랩이 기본값입니다
git config core.pager `fold -w 80 | less`
이제 git diff를 폴드를 통해, 먼저, 덜 줄이고, 랩핑하고, 페이지 높이가 적은 것이 정확하고, 구문 강조 표시를 유지합니다.
단순히 git diff의 출력을 더 이상 파이프 할 수 있습니다.
git diff | more
완벽한 해결책은 아니지만 gitk
그리고 git-gui
둘 다이 정보를 보여주고 스크롤 바를 가질 수 있습니다.
"git diff"를 사용하고 있고 여러 페이지가 표시되면 (당신은 ":"페이지 끝에서 "이 경우"참조하십시오. 접는 긴 줄을 토글합니다.
아무도 지금까지 이것을 지적하지 않았습니다. 기억이 아주 간단하고 GIT 구성에서 추가 구성을 수행 할 필요가 없습니다.
git diff --color | less -R
현재/기본 구성을 나열하십시오.
$ git config --global core.pager
less -FXRS -x2
그런 다음 -S와 같은 업데이트를 남기고 다음과 같습니다.
$ git config --global core.pager 'less -FXR -x2'
-s : 화면 너비보다 더 긴 선이 접히지 않고 잘게 자릅니다.
곤경에 처할 때, 나는 종종 차이에 의지합니다. 인라인 Diff 하이라이트가있는 우수한 DIFF 도구. 또한 최신 버전에서는 수평 모드를 갖도록 모드를 추가했습니다.
그래도 GIT를 사용하도록 구성 할 수 없었습니다. 따라서 두 버전의 파일을 먼저 얻으려면 주위를 돌려야합니다.
쉽게 수행하는 방법, 제 경우에는 Linux OS를 사용합니다.
git diff > text.txt
이 명령 줄은 텍스트 내부에 git diff 출력을 생성하고 넣으면 다른 텍스트 편집기와 함께 열 수 있습니다.
sublime text.txt
도움이되기를 바랍니다.
삭제를 잊지 마십시오. = 0)