2013-06-15 1 views
4

내 xcode 프로젝트가 컴파일되지 않으면 커밋을 중단하는 git pre-commit hook을 작성했습니다.내가 지어주기 전에 청소하지 않으면 문제가 생길 수 있습니까?

내 프로젝트에 적절한 설정으로 xcodebuild를 실행하면됩니다. xcodebuild가 0이 아닌 상태를 반환하면 변경 내용을 커밋 할 수 없습니다. 여기

내가 xcodebuild 명령을 실행 해요되어

xcodebuild -project MYPROJ/MYPROJ.xcodeproj -target MYPROJ -configuration Debug clean build CODE_SIGN_IDENTITY='iPhone Developer' >/dev/null 2>&1 

는 내가 알고 싶은 것은 어떤 문제를 내가 빌드 명령에서 "깨끗한"을 제거하는 경우에 실행됩니다? 나는 "깨끗한"것이 무엇인지 모호하다. 이전에 컴파일 된 객체를 제거하면 다음 빌드 명령이 전체 프로젝트를 처음부터 다시 빌드하게된다.

그러나 전체 빌드는 프로젝트에서 오랜 시간이 걸리지 만 우리가 클린업을하지 않고 많이 수정하지 않으면 몇 초 밖에 걸리지 않습니다. 프리 - 커밋 - 후크를 빠르고 가볍게 유지하고 싶습니다만, 빌드가 이상한 상태에 빠져 개발자가 코드가 정상적으로 작동하더라도 커밋하지 못하게 될까 봐 걱정됩니다.

사전 커밋 훅을 빌드하기 전에 정리를하지 않으면 문제가 발생합니까? 일부 경우 빌드 오류를 잘못보고 할 수 있습니까, 아니면 청소하지 않으면 파산 할 수 있습니까?

+0

+1이 문제를 일으켰습니다. –

답변

2

커밋을 컴파일하려면 빌드하기 전에 정리해야합니다. 때로는 라이브러리와 리소스가 엉망이되어 클린 명령이 존재합니다. 당신은 그 개정판을 체크 아웃하는 누군가가 문제없이 프로젝트를 컴파일 할 수 있도록하고 싶습니다. 오래된 리소스와 같이 이전 빌드에서 남은 부분이있을 수 있다고 보장 할 수는 없습니다.

GUI 용 이미지를 사용한다고 상상해보십시오. 앱을 컴파일하면 제대로 작동합니다. 그런 다음 리소스를 약간 재구성하여 어떻게 든 프로젝트에서 이미지를 제거하게됩니다. 응용 프로그램을 다시 실행해도 프로젝트를 지우지 않으면 이전 이미지가로드 될 수 있습니다. 그래서 그것은 당신을 위해 일할 것이지만, 깨끗한 사람을위한 것은 아닙니다.

+1

+1 또한 프로젝트에 100 개의 클래스와 파일이 포함되어 있으면 파일에 추가 된 메소드조차도 다른 클래스에 반영되지 않습니다. –

관련 문제