긴 줄에 gitdiff를 어떻게 사용해야 합니까?
파일에 대한 git-diff를 실행하고 있지만 변경 사항은 긴 줄 끝에 있습니다.
커서 키를 사용하여 오른쪽으로 이동하면 색상 코드가 손실되고 줄이 정렬되지 않아 변경 내용을 추적하기가 더 어렵습니다.
그 문제를 방지하거나 단순히 줄을 감는 방법이 있습니까?
mingw32를 통해 Git 1.5.5를 실행하고 있습니다.
에는 "" " " " " " " " 를 하십시오.-S
더 적게 래핑할 수 있도록 디프를 보는 동안.
『 』의 출력 git diff
사용 중인 호출기로 처리됩니다.
일반적으로 리눅스에서는less
사용될 것입니다.
다른 호출기를 사용하도록 git에 지시할 수 있습니다.GIT_PAGER
환경 변수입니다.를 들어, 수 신경 쓰지 , 으로 "" (" " " " " " " " " " " " " " " " 을 설정해 .GIT_PAGER
호출기를 사용하여 중지할 수 있습니다.Linux 버전:
$ GIT_PAGER='' git diff
호출기가 없으면 줄이 감깁니다.
단말기가 컬러 출력을 지원하지 않는 경우 다음 중 하나를 사용하여 이 출력을 끌 수도 있습니다.--no-color
인수를 지정하거나 Git 구성 파일의 색상 섹션에 항목을 입력합니다.
$ GIT_PAGER='' git diff --no-color
사용할 수도 있습니다.git config
포장할 호출기를 설정합니다.
$ git config core.pager 'less -r'
현재 프로젝트의 호출기 설정을 설정합니다.
$ git config --global core.pager 'less -r'
모든 프로젝트에 대해 전역적으로 호출기를 설정합니다.
이 답변에 대한 논평에서 Josh Diehl에게 전적으로 공을 돌리면서, 그럼에도 불구하고 저는 이것이 스스로 답이 되어야 한다고 생각합니다. 그래서 그것을 추가합니다.
긴 줄에서 차이를 보는 한 가지 방법은 단어 중심의 차이를 사용하는 것입니다.이 작업은 다음을 통해 수행할 수 있습니다.
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'
이렇게 하면 적게 사용하면서 입력할 필요가 없습니다.
건배.
방금 구글에서 검색했어요. GIT_PAGER='less -r'
나에게 효과가 있습니다.
Mac OSX: 실행 중인 다른 사람의 '-S'를 제외한 다른 답변은 모두 제게 도움이 되지 않았습니다.워드랩을 영구적으로 만드는 데는 다음이 필요했습니다.
git config --global core.pager 'less -+$LESS -FRX'
Git 1.5.3 이후(2007년 9월)
a --no-pager
옵션을 사용할 수 있습니다.
git --no-pager diff
어떻게 하면 gitdiff가 호출기를 사용하는 것을 방지할 수 있습니까?
v2.1부터는 랩이 기본값입니다.
지금까지 아무도 이것을 지적하지 않았습니다.기억하기가 매우 간단하며 Git 구성에서 추가 구성을 수행할 필요가 없습니다.
git diff --color | less -R
8년 후, 저는 https://superuser.com/questions/777617/line-wrapping-less-in-os-x-specifically-for-use-with-git-diff 에서 더 나은 답을 찾았습니다.
git config core.pager `fold -w 80 | less`
이제 접힌 부분을 통해 Git diff를 파이프로 연결하고, 그 다음에 더 작은 부분으로 연결합니다. 랩핑되고, 페이지 높이가 더 낮으며, 구문 강조를 계속합니다.
"git diff"를 사용하는 경우 여러 페이지(페이지 끝에 ":" 표시)가 표시되면 "-S"를 입력하고 Enter 키를 누를 수 있습니다.(S는 대문자여야 합니다).긴 줄 접기를 전환합니다.
gitdiff의 출력을 다음과 같이 파이프로 연결하기만 하면 됩니다.
git diff | more
완벽한 해결책은 아니지만,gitk
그리고.git-gui
이 정보를 표시하고 스크롤 막대를 사용할 수 있습니다.
현재/기본 구성을 나열합니다.
$ git config --global core.pager
less -FXRS -x2
다음과 같이 -S를 업데이트하고 생략합니다.
$ git config --global core.pager 'less -FXR -x2'
-S: 화면 너비보다 긴 선이 접히지 않고 잘립니다.
어려움에 처했을 때, 저는 종종 DiffMerge에 의지합니다.인라인 디프 강조 표시가 있는 우수한 디프 도구입니다.또한 최신 버전에서는 수평 모드를 사용하는 모드를 추가했습니다.
하지만 나는 그것을 사용하도록 git을 구성할 수 없었습니다.그래서 먼저 두 버전의 파일을 모두 얻기 위해 노력해야 합니다.
언급URL : https://stackoverflow.com/questions/136178/how-should-i-use-git-diff-for-long-lines
'IT' 카테고리의 다른 글
MongoDB의 ObjectIds는 어떻게 생성됩니까? (0) | 2023.06.27 |
---|---|
model.find()가 mongoose에서 비어 있음을 반환합니다. (0) | 2023.06.27 |
.git 폴더를 추적할 파일 외부에 저장할 수 있습니까? (0) | 2023.06.27 |
MongoDB 대량 입력 대 대량 입력 (0) | 2023.06.27 |
Android "뷰 계층 구조를 만든 원본 스레드만 뷰를 터치할 수 있습니다." (0) | 2023.06.27 |