Git : git add -i 또는 git add -e를 사용할 때 더 많은 컨텍스트를 표시합니까?


101

나는 큰 파일의 일부를 선택적으로 커밋하고 있으며 각 덩어리에 대한 더 많은 컨텍스트를보고 싶습니다. 이게 가능해?

답변:


130

짧은 대답 : 아니요.

git diff-U<n>변경 사항 주변에 표시 할 줄 수를 사용자 지정할 수 있는 옵션이 있습니다. 예를 들어 git diff -U5 ...는 5 줄의 컨텍스트를 표시합니다. 내가 알 수있는 한, 대화 형 모드에서 diff 디스플레이에 사용할 수있는 옵션이 없습니다.


7
-U<infinity>전체 파일을 표시 하는 옵션이 있습니까? (아니면 많은 수가 "충분히 좋은"것입니까?)
titaniumdecoy

2
in git diff -U<n>은 변경된 각 줄의 양쪽에 사용 된다는 것을 언급하고 싶습니다 . 한 줄이 변경된 경우에 따라서, git diff -U5당신에게 11 줄이 표시됩니다 (하나 개의 라인이 파일의 끝의 시작에 있지 가정합니다.)
ArtOfWarfare

5
이것은입니다 git diff하지 않는 git add --patchgit add --interactive
0xcaff

1
@titaniumdecoy, 나는 그것을 별도의 질문으로 게시했다. stackoverflow.com/questions/28727424/…
Aleksandr Levchuk

3
아직도 해결책이 없습니까?
Vitaly Zdanevich

2

확인하기 위해 2019 년에는 여전히 불가능합니다.

다음과 같은 외부 도구 jjlee/git-meld-index가 도움이 될 수 있습니다.

git-meld-index실행 meld- 또는 다른 자식 difftool ( kdiff3, diffuse, 등) - (또한 자식 준비 영역이라고도 함) 자식 인덱스에 대화 형으로 단계의 변화를 허용합니다.

git add -p, 및 의 기능과 유사합니다 git add --interactive.

어떤 경우에는 meld가 .NET git add -p과 같은 도구의 스테이징 기능 보다 사용하기 더 쉽고 / 빠릅니다 git gui.
예를 들어, meld를 사용하면 다음을 수행 할 수 있기 때문입니다.

  • 더 많은 컨텍스트를 참조하십시오 .
  • 라인 내 차이점 참조
  • 손으로 편집하고 '실시간'diff 업데이트보기 (키를 누를 때마다 업데이트 됨)
  • n건너 뛰려는 모든 변경 사항에 ' ' 라고 말하지 않고 변경 사항으로 이동
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.