2016-12-22 3 views
2

많은 VS dll 프로젝트와 몇 개의 웹 폴더가있는 대규모 저장소가 있습니다. 난 그 모든 dll 프로젝트에 의해 생성 된 모든 bin 및 obj 폴더를 모호하게 담기 싶습니다. 그러나 나는 웹 폴더에서 bin 폴더를 무시하고 싶지 않습니다. 여기에 훨씬 단순화 secenario이며, 폴더의 목록은 다음과 같이 보일 수 있습니다 :특정 bin 디렉토리를 무시하십시오.

/DllProject1 
/DllProject1/someInnerNamespace 
/DllProject1/properties 
/DllProject1/bin 
/DllProject1/bin/debug 
/DllProject1/obj/ 
/DllProject1/obj/debug 

/DllProject2 
/DllProject2/someInnerNamespace 
/DllProject2/properties 
/DllProject2/bin 
/DllProject2/bin/debug 
/DllProject2/obj/ 
/DllProject2/obj/debug 

/Web 
/Web/App_Code 
/Web/assets 
/Web/clientBin 
/Web/bin 
/Web/someModule 

베어링을 염두에두고 현실 세계에서 그것을 폴더 구조의 다양한 수준을 찾을 수 있습니다 더 많은 DLL 프로젝트가 있음. 나는 다음과 같이 보일 것 .gitignore 사용하고자하는 명시 적으로-않은 무시 "해야한다"

bin 
obj 
!/Web/bin 

이 그들이 담당자에 나타납니다 지금까지 모든 빈과 OBJ 폴더를 무시 "한다"를,하지만/Web/bin 폴더. 그러나 그 작동하지 않는 것으로, 웹/bin 폴더가 어쨌든 사라집니다.

+0

내가 말했던 것, 즉 빌드 아티팩트가 소스 코드가있는 곳이되어서는 안될 것이다. 그러나 @VonC와 같은 전문가는 당신이 찾고있는 대답을 줄 수 있습니다. –

답변

0

저는 .gitignore 파일을 작성하는 데 전문가가 아니지만 현재 접근 방식에 몇 가지 문제점이 있습니다. 첫째, 왜 저장소 내에서 객체와 바이너리 파일이 첫 번째 위치에 있습니까? 그들은 거기에 있으면 안되며, 유물을 만들어서도 안됩니다. 대신 소스 코드가 저장되는 외부의 위치로 빌드하십시오.

.gitignore 파일의 경우 올바른 순서는 상위 폴더를 제외하고 하위 폴더를 예외로 포함하는 것입니다.

/web/* 
!/web/bin/ 

담요는 당신에게 당신이 원하는 결과를 얻을 수 bin에 무시 사용하는 경우 잘 모르겠어요 : 당신이 web 폴더를 제외하고 싶어하지만 bin 하위 폴더를 포함한다면, 당신은 이런 식으로 뭔가를 할 것입니다. 하지만 제가 말씀 드렸듯이, 빌드 아티펙트는 .git 상위 폴더 외부로 이동해야합니다.

+0

답변 해 주셔서 감사합니다. 여기서 목표는 개발자가 작업을 완료하기 위해 일련의 규칙을 기억할 필요가없는 "그냥 작동합니다"환경입니다. VS dll 프로젝트는 기본적으로 프로젝트 디렉토리 아래에 bin 폴더와 obj 폴더를 만들고 그 종류는 의미가 있습니다. 그래서 임시 "빌드 아티팩트"가 어디에 있어야하는지에 대한 당신의 주장에 동의하지 않습니다. 또한 제안은 분명히 바람직하지 않은 bin 폴더를 제외하고 웹 폴더의 모든 것을 무시할 것입니다. 나는 내 질문에서 너무 많은 세부 사항을 지켰다 고 생각한다. – AnthonyWJones

+0

일반적으로 빌드 아티팩트를 수동으로 무시하는 것은 일반적인 사용 사례는 아니며 적어도 내가 노출 된 언어/프로젝트에는 해당되지 않습니다. 어쩌면 당신의 상황이 다를 수도 있습니다. 나는 단지 당신에게 유용한 정보를 제공하려하고있다. –

1

예를 들어 작성한 .gitignore 예제는 지정한대로 완벽하게 작동하지만 방금 테스트했습니다. 그러나 파일이 아닌 디렉토리 만 일치하도록 후행 슬래시를 추가합니다.

/Web/bin에 파일이없고 Git이 폴더를 추적하지 않는다는 사실을 모르는 경우가 있습니까? 힘내는 파일에 저장되는 콘텐츠를 추적하지만 파일이나 폴더는 추적하지 않으므로 빈 폴더를 Git 저장소에 추가 할 수 없습니다.

+0

감사합니다. bin 폴더에는 확실히 내용이 있습니다. VS 및 팀 탐색기에만 해당되는지 궁금합니다. – AnthonyWJones

+0

나는 그렇게 기대하지 않을 것이다. 힘내 명령 행 클라이언트가 어떻게 동작하는지보십시오. 동작이 다르면 잘못 처리 한 도구의 버그 항목을 엽니 다. – Vampire