Git 커밋 시 자동 Swift 코드 서식 지정은 swift-format 도구와 Git pre-commit 훅을 사용하여 구현할 수 있습니다. Xcode 16은 swift-format을 툴체인에 포함하고 있으며, swift format MyFile.swift와 같이 명령줄을 통해 실행할 수 있습니다. swift-format의 구성은 .swift-format 파일을 통해 관리되며, 이 도구는 현재 디렉토리와 상위 디렉토리를 순차적으로 검색합니다. 기본 구성은 swift format dump-configuration을 사용하여 생성하고, 사용자 정의 코드 스타일을 정의하도록 수정하여 원하는 위치에 저장할 수 있습니다. Git 훅은 특정 작업 시 사용자 정의 스크립트를 실행할 수 있게 해주며, pre-commit 훅은 커밋이 완료되기 전에 실행됩니다. 제공된 pre-commit 스크립트는 git diff를 사용하여 스테이징된 Swift 파일(추가, 복사, 수정 또는 이름 변경)을 식별합니다. 그런 다음, 이러한 파일에 대해 swift format --in-place --parallel을 실행하여 직접 수정합니다. 포맷터가 파일을 변경하기 때문에, 스크립트는 이후 git add를 사용하여 새롭게 서식이 지정된 파일을 다시 스테이징하여 커밋합니다. 이 pre-commit 스크립트는 각 저장소의 .git/hooks 디렉토리에 복사하고 실행 가능하게 만들어야 합니다. 이는 클라이언트 측 훅이므로, 모든 새 저장소 또는 복제된 저장소에 대해 설치가 필요합니다. git commit --no-verify 명령을 사용하여 pre-commit 검사를 우회할 수 있습니다.
swift format MyFile.swift와 같이 명령줄을 통해 실행할 수 있습니다. swift-format의 구성은.swift-format파일을 통해 관리되며, 이 도구는 현재 디렉토리와 상위 디렉토리를 순차적으로 검색합니다. 기본 구성은swift format dump-configuration을 사용하여 생성하고, 사용자 정의 코드 스타일을 정의하도록 수정하여 원하는 위치에 저장할 수 있습니다. Git 훅은 특정 작업 시 사용자 정의 스크립트를 실행할 수 있게 해주며, pre-commit 훅은 커밋이 완료되기 전에 실행됩니다. 제공된 pre-commit 스크립트는git diff를 사용하여 스테이징된 Swift 파일(추가, 복사, 수정 또는 이름 변경)을 식별합니다. 그런 다음, 이러한 파일에 대해swift format --in-place --parallel을 실행하여 직접 수정합니다. 포맷터가 파일을 변경하기 때문에, 스크립트는 이후git add를 사용하여 새롭게 서식이 지정된 파일을 다시 스테이징하여 커밋합니다. 이 pre-commit 스크립트는 각 저장소의.git/hooks디렉토리에 복사하고 실행 가능하게 만들어야 합니다. 이는 클라이언트 측 훅이므로, 모든 새 저장소 또는 복제된 저장소에 대해 설치가 필요합니다.git commit --no-verify명령을 사용하여 pre-commit 검사를 우회할 수 있습니다.