GitNotes.6-12.md
본 문서는 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)

반응형

+ Recent posts