Git для Visual Studio игнорирует проект - PullRequest
0 голосов
/ 13 мая 2018

Я использую Visual Studio Team Services для размещения репозитория своего решения.Решение имеет четыре проекта, но по какой-то причине Visual Studio полностью игнорирует один из проектов при записи изменений.В результате проект не включается в репозиторий.

Однако контекстное меню проекта включает в себя раздел «Управление исходным кодом», как если бы оно уже было включено в репо, а не «Параметр «Добавить в систему управления версиями» должен отображаться.

«Keklist 2 Beta - Win Desktop_CSharp» - это отсутствующий проект.

Как это можно исправить?

РЕДАКТИРОВАТЬ: Скриншоты!

All files in this missing project show as

The context menu even shows that it's included in source control

There is a .git folder in the solution directory

РЕДАКТИРОВАТЬ: Снимок экрана после удаления файла из отсутствующего проекта

Screenshot after deleting a file from the missing project

.gitignore найдено в отсутствующей папке проекта , но все, что внутри, похоже, проверяется.

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in     wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
project.fragment.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

И еще, проверьте ссылку Pastebin для всего файла (длина 261 строки)

Ответы [ 3 ]

0 голосов
/ 19 мая 2018

После проверки всех возможных проблем, предложенных пользователями, оставившими комментарии, я сделал следующее:

  1. Найдите папку отсутствующего проекта

  2. Отправлено на онлайн-панель Visual Studio Team Services

  3. Вручную загрузил файлы отсутствующего проекта, как они появились в моей системе

  4. Вытащил новыйфиксирует и передает слияние, используя панель VSTS Visual Studio

Теперь проект, кажется, работает как ожидалось.Спасибо всем, кто пытался помочь!

0 голосов
/ 15 марта 2019

Если кто-то столкнулся с этой проблемой, я исправил ее, щелкнув правой кнопкой мыши папку, в которую я хотел добавить проект, наведя курсор мыши на опцию «Добавить» и выбрав «Добавить существующий проект». Это позволило мне зайти в файловый браузер и выбрать .csproj, который отсутствовал в Visual Studio, и после этого все работало отлично.

0 голосов
/ 13 мая 2018

Проверьте, содержит ли этот подпроект в локальном клонированном репо .git/.
Или отображается в .gitmodules в корневой папке основного локального репо.

В обоих случаях это будет представлять собой вложенный Git repository, который будет отображаться только как запись в индексе родительского репо после нажатия, а не как содержимое папки.

Альтернативный вариант для этогоЧтобы игнорировать содержимое подпапки «Keklist 2 Beta - Win Desktop_CSharp», купите директиву .gitignore.

Проверьте это с помощью:

cd /path/to/repo
git check-ignore -v -- ""Keklist 2 Beta - Win Desktop_CSharp/aFile"

(выберите существующий файл в папке этого проекта)

Тогда вы увидите, есть ли какое-либо правило gitignore, которое может объяснить, что эти элементы не могут быть добавлены (потому что они будут игнорироваться).

...