2014-02-14 2 views
3

Я использую Github for Windows в качестве графического интерфейса для управления моим репозиторием Git для проекта Visual Studio C#/MVC. (Мастер размещается на bitbucket.org, потому что она должна быть частной сейчас, но разве источник проблемы.)Github для Windows игнорируется .gitignore Visual Studio

Для первого десятка выталкивает или так я толкал бункер, OBJ, и Отлаживайте материал мастеру. Однако, поскольку у других людей возникли проблемы, которые вызвали проблемы ...

Итак, я прошел через свой репозиторий в Проводнике Windows и удалил все эти временные файлы/каталоги и совершил/нажал изменения в мастер. Затем я удалил свой репозиторий на своей машине и вытащил новую копию. Нет ненужного материала, счастливый.

Далее я загрузил VisualStudio.gitignore с Github's recommended ignores и поместил его в корень моего репозитория. (Надеюсь, что это сохранится на протяжении всего проекта?)

Однако, когда я запускаю Github для Windows и фиксирую свои локальные изменения, он все равно находит все/bin,/obj и т. Д. Итак, я открыл оболочку и сделал «git diff», единственный найденный файл - «ProjectOrganics.v11.suo» (который, я считаю, специально не игнорируется в файле .gitignore ...

Мне интересно, есть ли проблема с инструментами с Github для Windows, что он не принимает во внимание .gitignores? Или, возможно, мастер по-прежнему отслеживает эти каталоги, несмотря на то, что они были удалены в последней фиксации для мастера? (И я удалил и перестроил всю свою хранилище на машине от ведущего.)

Я также попытался использовать 'git rm --cached', чтобы вручную удалить каталоги, однако он не нашел их. Я не был в состоянии понять, что мерзавец эквивалент «Dir», поэтому я не уверен, если я использовал неверный путь файла, или на самом деле не существует ...

Edit1 - Каталог «projectname» - это всего лишь стенд для имени моего проекта. Первая папка - это корень каталога.

./projectname/    (repository root) 
     .git/ 
     VisualStudio.gitignore (the .gitignore) 
     ProjectName/    (Solution) 
      ProjectName.Doman/ (class library) 
      ProjectName.Web/  (mvc project) 
      ProjectName.sln 
      ProjectName.suo 
      ...etc 

Что я хочу сделать, это игнорировать папки bin/obj в папках .Domain и .Web. VisualStudio.gitignore - это точная копия с сайта github.

+1

'.gitignore' отлично работает для меня на Windows/VS. Как вы создали/отредактировали '.gitignore'? – admdrew

+1

Просьба показать (фрагмент) структуру вашего dir, фрагмент из вашего gitignore и где собственно git repo по отношению ко всему этому - где находится каталог «.git». – mockinterface

+0

@mockinterface Отредактированный исходный вопрос с диаграммой моего каталога. –

ответ

5

Хорошо, проблема была в имени файла. Я загрузил VisualStudio.gitignore из github и вставил файл в свой каталог, предполагая, что он будет работать.

Однако правильное имя должно быть только .gitignore - просто расширение файла, без имени. К сожалению, Windows Explorer отключается, если вы попытаетесь сделать это, поэтому вам придется либо создать его в командной строке, либо через Github для самой Windows.

В гитаре Github для Windows щелкните правой кнопкой мыши файл, который вы хотите игнорировать, и выберите «Игнорировать файл». Это создаст файл .gitignore. Оттуда вы можете скопировать/вставить содержимое VisualStudio.gitignore или любые правила, которые вы хотите использовать.

+7

Существует * способ создания файла с ведущим периодом в Windows, [это просто не супер интуитивно понятно] (http://blog.fox.geek.nz/2012/10/how-to-create-files- with-leading-period.html) - создайте файл с ведущим периодом * и * конечным периодом (т. е. '.gitignore.'), и Windows правильно создаст файл. – admdrew

Смежные вопросы