GitHub PR에서 공백을 숨겼더니 변경이 줄어 보이는 이유
동료가 올린 PR을 열었는데 화면 대부분이 들여쓰기 변경으로 가득한 적 있나요? 함수 한 줄을 고쳤을 뿐인데 포매터가 파일 전체를 정리하면, 정작 봐야 할 변화가 빨간색과 초록색 사이에 묻혀요. GitHub가 10월 22일 발표한 공백 표시 설정 저장 기능은 이런 리뷰의 번거로움을 줄여 주는 변화예요.
한 번 고른 보기 방식이 다음 PR에도 이어져요
Files changed의 Settings → Whitespace changes에서 Always show, Always hide, Hide for this diff only를 고를 수 있어요. 저장한 설정은 개인에게 적용되고 여러 PR에 이어져요. 공백을 숨기면 All commits 옆에 Hide whitespace 필터가 나타나며, X를 누르면 저장한 설정을 바꾸지 않고 잠시 공백을 다시 볼 수 있어요.
작지만 반가운 부분은 이 선택을 매번 반복하지 않아도 된다는 점이에요. 다만 화면에 보이는 파일 수와 diff 통계도 현재 표시된 diff를 반영해요. 어제 본 숫자보다 작아졌다고 해서 작성자가 그만큼 코드를 되돌렸다고 해석하면 헷갈릴 수 있어요. 먼저 필터가 켜져 있는지 보면 맥락이 맞아떨어져요.
들여쓰기 뒤에 숨어 있던 한 줄 찾기
차이를 눈으로 보기 위해 짧은 JavaScript 예제를 직접 만들었어요. 이전 코드는 세금 포함 가격을 계산해 반환하고, 바뀐 코드는 같은 계산 결과를 소수 둘째 자리로 반올림해요. 동시에 두 칸 들여쓰기를 네 칸으로 바꿨어요. 아래 이미지는 이 예제를 로컬 git diff로 비교한 실제 출력이며 GitHub 제품 화면은 아니에요.
일반 diff에서는 계산식과 반환문이 함께 바뀐 덩어리로 보여요. git diff -w에서는 들여쓰기만 달라진 계산식이 문맥으로 남고 반환문의 변화가 더 또렷해져요. 리뷰어는 반올림이 필요한 이유, 음수나 큰 값의 처리, 기존 테스트가 기대하는 금액 같은 질문에 집중할 수 있어요. 공백을 숨기는 기능의 가치는 이런 읽기 순서에 있어요.

공백이 동작을 바꾸는 코드도 있어요
그래서 숨긴 보기를 모든 파일의 최종 판단으로 쓰기는 어려워요. Python의 들여쓰기, YAML의 계층, 문자열 안의 공백은 의미를 만들 수 있어요. 예를 들어 인사말이 "Hello world"에서 "Helloworld"로 바뀌면 문자 사이 공백 하나가 사용자에게 보이는 결과를 바꿔요. -w는 Git의 공백 무시 비교 옵션이며 언어의 의미를 판정하는 도구가 아니에요.
이 예제에서는 -w가 문자열 안의 공백 변경까지 감춰서 diff 출력이 비게 돼요. 실제로 실행해 확인한 결과를 두 번째 이미지에 담았어요. GitHub와 로컬 Git의 모든 비교 동작이 같다고 가정할 필요는 없어요. 보여 주는 방식이 단순해질수록, 공백이 의미를 가진 부분에서는 원래 변경 내용을 한 번 다시 펼쳐 보는 습관이 도움이 돼요.

새 파일의 긴 줄도 조금 편해져요
이번 발표에는 split view에서 새 파일과 삭제된 파일을 두 열 전체 너비로 보여 주는 개선도 들어 있어요. 추가 파일이 한쪽 절반에만 갇히지 않으니 긴 타입 정의나 테스트 설명의 줄바꿈을 덜 따라가도 되겠어요. 새 파일에 비교할 이전 내용이 없다는 점을 화면 배치에 반영한 변화로 볼 수 있어요.
포매팅과 기능 변경이 섞인 PR이라면 숨긴 보기에서 핵심 계산을 먼저 읽고, 공백을 다시 표시해 문자열과 구조를 살펴보는 식으로 활용해 보세요. 작성자가 포매팅 커밋을 분리하면 의도도 더 잘 전달돼요. 새 설정이 줄여 주는 건 클릭과 시각적 잡음이에요. 변경의 의미를 읽는 마지막 단계까지 없어지는 건 아니에요.
더 읽을 공식 자료
GitHub Docs · Reviewing proposed changes
2026년 10월 23일 공식 발표와 Git 문서를 확인하고, 예제의 두 비교 출력을 직접 실행했어요.