YAML 비교 — 두 파일의 차이 찾기
두 YAML 문서를 어떻게 쓰였는지가 아니라 무엇을 뜻하는지로 비교합니다. 따옴표, 들여쓰기, 키 순서, 앵커는 더 이상 상관없고 실제 차이만 드러납니다.
왼쪽 YAML
오른쪽 YAML
차이
이 도구에 대하여
YAML 파일 두 개는 완전히 달라 보이면서도 같은 데이터를 담을 수 있습니다. 키 순서가 바뀌거나, 스칼라에 따옴표가 붙고 안 붙거나, 블록 목록을 플로 스타일로 다시 쓴 경우입니다. 매니페스트나 CI 설정의 행 단위 비교가 그토록 쓸모없는 이유가 이것입니다. 이 페이지는 양쪽을 파싱해 나온 구조를 비교하므로, 보이는 것은 데이터의 차이입니다. 그 과정에서 주석과 앵커 이름은 사라집니다. 둘 다 파싱을 넘어 남지 않기 때문입니다.
사용 방법
- 1두 YAML 문서를 왼쪽과 오른쪽 패널에 붙여넣습니다.
- 2나란히, 트리, 목록 중 하나로 결과를 읽고 화살표로 변경 지점을 오갑니다.
- 3변경된 부분만을 켜서 그대로인 곳을 접습니다.
자주 묻는 질문
›왜 행 단위가 아니라 구조로 YAML을 비교하나요?
YAML은 같은 데이터를 쓰는 방법이 여러 가지이기 때문입니다. 따옴표가 붙은 스칼라와 안 붙은 스칼라, 블록 스타일과 플로 스타일, 위치가 옮겨진 키, 바뀐 들여쓰기 — 텍스트 비교는 그 모두를 변경으로 칠합니다. 먼저 파싱하면 실제 차이만 보고됩니다.
›주석도 비교되나요?
아닙니다. 주석은 데이터가 아니고 파싱을 넘어 남지 않으므로 고쳐도 차이가 나지 않습니다. 주석을 확인해야 한다면 텍스트 비교를 함께 쓰세요.
›앵커와 별칭은 어떻게 되나요?
비교 전에 펼쳐지므로 한 번 쓰고 두 번 참조한 값은 풀린 값으로 비교됩니다. 따라서 앵커 이름만 바꾸면 아무것도 표시되지 않습니다.
›YAML 파일과 JSON 파일을 비교할 수 있나요?
JSON → YAML 페이지로 JSON 쪽을 변환해 둘 다 여기에 붙여넣거나, 반대로 해서 JSON 비교 페이지에서 비교하세요. 속을 들여다보면 같은 비교입니다.
›Kubernetes 매니페스트에 쓸 만한가요?
그것이 대표적인 용도입니다. 렌더링된 매니페스트와 클러스터에 있는 것을 견주는 상황이야말로 키 순서와 따옴표의 잡음이 텍스트 비교를 쓸모없게 만드는 지점입니다.