본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 6.12: UTF-16 형식으로 인코딩된 파일들과 plist 바이너리 파일들의 변경 내역 확인하기
UTF-16 으로 인코딩된 파일들 (현지화(localization)에 사용되는 iOS와 macOS의 strings 파일들이 좋은 예이다)의 변경 내역 출력을 위해서는 Git 으로 하여금 변경 내용 확인을 어떤 식으로 수행해야할지 지정이 필요하다.
자신의 ~/.gitconfig 파일 내에 아래 내용을 추가한다.
[diff "utf16"]
textconv = "iconv -f utf-16 -t utf-8"
iconv 는 서로 다른 인코딩간의 변환을 처리해주는 프로그램이다. 그런 후, 해당 변환이 필요한 저장소의 루트 디렉토리에 .gitattributes 파일을 새로 생성하거나 혹은 기존 파일을 편집하여 아래 내용을 추가한다. 물론 ~/.gitattributes 파일을 수정할 수도 있다.
*.strings diff=utf16
위 설정은 .strings 으로 끝나는 파일들에 대해 git diff
를 수행하기 전에 utf16 에 대한 인코딩 변환을 해줄것이다.
이러한 변환 처리는 텍스트로 변환 가능한 다른 파일 종류에 대해서도 적용할 수 있다. 예를 들어 바이너리 형식의 plist 파일 처리를 위해서는 .gitconfig 파일에 아래와 같은 항목을 추가하고,
[diff "plist"]
textconv = plutil -convert xml1 -o -
.gitattributes 파일에는 아래와 같이 추가할 수 있다.
*.plist diff=plist
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
7.2: 변경 사항을 되돌리기 (0) | 2019.09.20 |
---|---|
7.1: 이전 커밋으로 되돌리기 (0) | 2019.09.20 |
6.11: meld 툴을 이용하여 작업 디렉토리 내의 모든 수정사항을 확인하기 (0) | 2019.09.18 |
6.10: 두 커밋 혹은 두 브랜치 사이의 차이점 확인하기 (0) | 2019.09.17 |
6.9: patch 명령어와 호환되는 diff 결과물 생성하기 (0) | 2019.09.17 |