diff Output Formats


발생일: 2013.01.29

문제:
git을 자주 사용하곤 있지만 주로 개인 프로젝트에만 사용했던 터라,
실제로 충돌이 발생해 diff를 자세히 보는 경우는 거의 없었다.

그러다 오늘 문득, 작업 중에 `git diff`를 호출해봤는데,
출력된 내용 중에 아래 부분이 눈에 확 들어오더라.

  @@ -1,13 +1,7 @@

순간, 이게 무슨 뜻이더라. 싶더라.
1,13 라인을 빼고 1,7라인을 더했다는 건가...

그 전에도 분명히 이런 문구가 나오긴 했었겠지만,
처음 보는 느낌이니 그리 눈에 띄진 않았던 모양이다.

저 문구를 이제서야(?) 알아보게 된 건,
얼마 전 dotfiles을 변경하면서 터미널에 신택스 하이라이팅이 적용되었기 때문인데,
글쎄, 저 부분이 정말 "핫핑크" 볼드로 하이라이팅 되어있더라.

여튼, 기초 중의 기초이겠지만,..
저건 무슨 뜻일까...?

해결책:
저 문구 위에는 원본 파일과 새 파일의 이름과 수정 시각이 담긴 헤더가 있다.

   --- a/foo
   +++ b/foo

구문의 -와 +는 삭제/추가를 의미하는 게 아니라, 각각의 파일을 가리키는 것이었다.
즉, 원본 파일의 1,13라인과 새 파일의 1,7라인이 변경되었다는 얘기다.

헌데, 테스트를 해볼 겸, `git diff` 대신 `diff` 명령어를 써보니 출력 결과가 다르다.
많이 보긴 한 모습인데, 정확한 의미는 잘 모르겠다.

찾아보니, diff의 출력 포맷에는 여러 종류가 있고,
각 기호가 나타내는 의미가 조금씩 다른 경우가 있더라.

헷갈리기도 하고, 한 번 정리해두면 잊지 않을 것 같아서 이 참에 슬라이드로 정리해봤다.
이제 제대로 알겠다~ ㅎㅎ




카테고리

분류 전체보기 (728)
About me. (6)
Daylogs (693)
영어공부 (0)
My works - 추억 (29)
비공개 (0)