2016-08-12 5 views
1

내 자신의 Unity 프로젝트에 Git을 사용하고 있습니다. 인 (나는 유일한 개발자입니다.)Git Subtree Specific Ignoring

유니티 개발자가 알 수 있듯이 Unity는 프로젝트의 메인 폴더 인 "Assets"폴더 아래에있는 모든 ".meta"파일을 만듭니다. 또한이 파일은 프로젝트의 무결성을 유지하기 위해 원본 파일과 함께 추적되어야합니다.

# Unity Project Folder 
/ExampleProjectName/[Ll]ibrary/ 
/ExampleProjectName/[Tt]emp/ 
/ExampleProjectName/[Oo]bj/ 

# Autogenerated VS/MD solution and project files 
ExportedObj/ 
*.csproj 
*.unityproj 
*.sln 
*.suo 
*.tmp 
*.user 
*.userprefs 
*.pidb 
*.booproj 
*.svd 

# Unity3D Generated File On Crash Reports 
sysinfo.txt 

# OS Related Stuff 
desktop.ini 
.DS_Store 
.DS_Store? 
.Spotlight-V100 
.Trashes 
ehthumbs.db 
Thumbs.db 

나는 또한 프레임 워크 및 공통 코드 저장소가 : 여기

프로젝트 저장소의 .gitignore 파일입니다. 그리고 .meta이 스크립트의 파일은 프레임 워크를 프로젝트로 가져올 때 프로젝트별로 생성해야하므로.meta 개의 파일을이 프레임 워크 저장소에 무시합니다. (그리고 프레임 워크의 repo에 사방 .meta 파일을 볼 수 성가신입니다.) 다음

프레임 워크 저장소의 .gitignore 파일 : 당신은 내가 프레임 워크 등을 추가하려고 상상할 수로

# Exclude ".meta" files created by Unity 
*.meta 

# Autogenerated VS/MD solution and project files 
### The rest is identical to the project .gitignore file. ### 

프로젝트 저장소에 하위 트리. 실제로 작동하지만 문제가 있습니다 : .meta 파일을 무시하는 프레임 워크 저장소의 .gitignore 파일 또한 프로젝트 저장소에 적용되어 하위 트리의 디렉토리 아래에있는 파일 .meta을 무시합니다.

요약하면 : 나는 서브 트리 디렉토리 (재귀 적으로)이 프로젝트 저장소에 추적 할 수 있지만, 프레임 워크 저장소에 무시에있는 .meta 파일을합니다.

은 (.meta 파일을 추적해야하는 이유 궁금 사람들을 위해, 가장 중요한 이유는 .meta 파일이 해당 자산의 ID를 포함하고, 유니티 프로젝트에서 이러한 자산을 referance에하기 위해 이러한 ID를 사용합니다.)

답변

2

.gitignore 파일을 Asset 디렉토리에 추가하여 상속 된 무지를 무시하고 무효화 할 수 있습니다. !

파일 구조 계층에 대해 다소 혼란스러워 보이므로 여기에 설명 할 예제가 있습니다.

git add . && git status --ignored 
: 루트의

. 
├── .gitignore 
├── main.meta 
└── unity 
    ├── .gitignore 
    └── sub.meta 

내용 unity/.gitignore

!*.meta 

.gitignore

*.meta 

내용 이제 추적 원하는 것을 자식 보자

On branch master 

Initial commit 

Changes to be committed: 
    (use "git rm --cached <file>..." to unstage) 

    new file: .gitignore 
    new file: unity/.gitignore 
    new file: unity/sub.meta 

Ignored files: 
    (use "git add -f <file>..." to include in what will be committed) 

    main.meta 

Unity 메타 파일을 추적하고 있지만 다른 곳에서는 무시하고있는 것을 볼 수 있습니다.