문제

나는 뛰고있어 자식 비교 파일에 있지만 변경 사항은 긴 줄 ​​끝에 있습니다.

커서 키를 사용하여 오른쪽으로 이동하면 색상 코딩이 손실되고 선이 정렬되지 않아 변경 사항을 추적하기가 더 어려워집니다.

해당 문제를 방지하는 방법이 있습니까, 아니면 단순히 줄 바꿈을 대신하는 방법이 있습니까?

(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

또는 다음 대신 색상화를 사용합니다.

result of just <code>git diff</code>

당신은 이것을 얻을 수 있습니다 :

result of <code>git diff --word-diff</code>

이제 정말 긴 줄을 비교하는 경우 원래 설명했던 호출기 상황에 여전히 문제가 있을 수 있으며 다른 답변에서 분명히 만족스럽게 해결되었습니다.하지만 이것이 라인에서 변경된 사항을 더 쉽게 식별할 수 있는 새로운 도구를 제공하기를 바랍니다.

호출기로 덜 사용하고 라인 랩핑을 영구적으로 만들려면 단순히 주름 라인 옵션을 활성화 할 수 있습니다.

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 v2.1 릴리스 노트

8 년 후 나는 https://superuser.com/questions/777617/line-wrapping-less-in-os-s-specifificifically-for-us-with-git-diff:

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)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top