2016.12.26 14:04

Unity는 작업자 로컬에서 관리되는 파일들이 유독 많습니다. 


이런 파일들이 공유되기 시작하면 프로젝트가 꼬이는 건 시간 문제죠. 


이를 위해 Unity 프로젝트에서 공유되면 안되는 파일/폴더 리스트와 git 저장소에서 이런 파일들이 공유되지 않게 하는 gitignore 파일에 적용하는 방법을 알아보겠습니다. 


주의하실 점은 프로젝트에 이미 공유되기 시작하면 이 파일에 적용된 내용이 적용되지 않을 수 있으니, 가능하면 저장소 생성 후 바로 설정을 해두시길 권장합니다. 


bitbucket.org에서 저장소 페이지로 이동하시면 아래와 같은 화면을 볼 수 있습니다. 



"Create a .gitignore"를 선택하면 해당 저장소에 적용할 gitignore 파일을 생성, 편집할 수 있습니다. 


Unity 프로젝트의 최상위 폴더들 중 Assets 폴더만 공유해도 되고, ProjectSettings 까지 같이 공유해도 됩니다. 


.gitignore에는 아래 내용을 넣어서 사용하시면 됩니다. 추가가 필요한 내용은 아래 포멧을 참고하여 추가하시면 됩니다. 




############################## # Unity folders & files **/Library/ **/obj/ **/Temp/

############################## # Source Files

*.psd
*.max

############################## # Package files *.7z *.gz *.rar *.tar *.zip ###################### # Logs and databases *.log .DS_Store* Thumbs.db



파일은 일반적으로 *.exe 등으로 등록하면 exe 확장자를 가진 파일을 stage에 등록되지 않도록 합니다. 


특정 폴더는 /Temp/ 로, 특정 폴더의 하위 폴더를 모두 포함시키지 않을 경우 **/Temp/로 등록하시면 됩니다.



파일을 공유할 때 10M 이상의 파일을 공유하지 않도록 하세요. 버전 관리에 많은 부담이 됩니다. sourcetree에서도 10M이상의 파일을 commit할 때는 경고를 출력합니다. 


git은 svn, cvs에 비해 branch가 상당히 가볍게 관리됩니다. 


저도 이전 프로젝트에서 svn의 branch는 너무 무거워서 거의 사용하지 않다가 git에서는 필수적으로 사용하기 시작했습니다. 


다음 글에서는 이에 대한 내용을 살펴보겠습니다. 

저작자 표시 비영리 동일 조건 변경 허락
신고
2009.09.29 01:26

은 쉽지 않은 일이다.

코드 관리를 위한 SVN같은 프로그램들이 아무리 merge 기능이 지원해줘도 누군가 자신이 만든 코드를 다른 사람이 만져서 버그가 발생하면 누구나 짜증나기 마련이니까. 게다가 그 뒷 수습에 들어가는 시간은 짜증을 배로 증가 시키기도 한다.

그래서 사전에 이런 상황을 막기위해 여러가지 시도도 해보았다.

자신이 관리하는 코드에 주석을 달아서 현재 관리자를 표시하고 수정할 내용이 있다면 그에게 이야기할 것!
자신이 작성한 코드에서 중요하게 공유해야할 코드 흐름 혹은 사용 방법들...  이 내용을 게시물에 등록하고 키워드를 등록해서 검색하기 쉽도록 하고, 수정사항이 발생하면 갱신할 것!!

하지만 모두 다 현재는 사용되지 않고 있다.

수시로 갱신되는 코드들을 이렇게 관리하는게 결코 쉬운일은 아니었다. 게시물을 올리더라도 얼마간의 시간이 지나면 쓴 것 자체를 기억못하는 경우도 생기고, 도대체 어디까지 기록해야 하는지도 명문화하지 못해서 힘들기도 하다.

어떤 경우는 다른 사람의 코드를 쓸 때 그 클래스가 초기 목적에는 맞았고 제작자가 테스트시 버그가 없었지만 다른 사람이 사용할 경우 버그가 발생하는 경우도 있어서 불편하다고 한다. 그래서 되물었다.

"처음에 유닛테스트를 하자고 했는데 각자 잘 지키고 있나요?"

질문한 사람 조차도 대답하지 못하고 있었다. 사실 현실적으로 그리 쉬운 문제가 아니라는 것을 나도 잘 알기에 안지켜 지는 것을 보면서도 강요하지는 못했다.

다음 프로젝트가 되면 이런 실패들을 잘 정리해서 과정 자체도 좀 더 발전할 수 있도록 해야겠지.

여러개의 프로젝트를 지금까지 진행해 왔지만 이런 것 조차도 결코 쉽지가 않다. 지금까지도 그래왔듯이 다음 프로젝트의 맴버들도 지금과는 다른 사람들일테니...

인재가 답일지.. 인재가 문제일지.. 가끔은 운에 맞겨지는 느낌이다. 최근에는 실력보다 부디 인간성 좋고 끈기 있는 사람이 들어오길 매일 매일 기도한다.

신고

'주저리' 카테고리의 다른 글

바른 생활  (0) 2009.11.18
9월의 마지막 날  (0) 2009.09.30
코드를 공유한다는 것!  (0) 2009.09.29
일정을 잘 지키는 것  (0) 2009.08.28
미친거 아냐...  (0) 2009.08.27
컴퓨터 게임은 하이테크놀로지를 필요로 하는 엔터테이먼트이다.  (0) 2009.08.27


티스토리 툴바