TFVC to Git - создайте дубликаты ранее игнорируемых связанных файлов, которые Git забирает - PullRequest
0 голосов
/ 26 октября 2018

Моя организация перемещает около 50 хранилищ кода проекта из локального общего экземпляра TFS 2015 с TFVC в Azure DevOps и Git.

Я успешно завершил миграцию чаевых, извлекая текущую ветку из TFS на мой жесткий диск, создавая новое локальное Git-репо (с .gitignore), добавлял и фиксировал локальные файлы в основную ветку, передаваемую в DevOps Azure. .

Переключение каталогов Я подключился через Visual Studio 2017 к новому репозиторию и клонировал его обратно в пустой каталог и начал создавать решения. Для одного конкретного решения, которое включает в себя веб-интерфейсное приложение MVC и бэкэнд-приложение Web.API с несколькими библиотеками классов, которые должны были быть созданы в первую очередь. Основная сборка для решения прошла успешно.

После сборки состояние Git сообщило, что в веб-проекте появилось несколько сотен новых неотслеживаемых файлов, которые оказались из библиотек классов. При просмотре свойств в обозревателе решений все они являются связанными файлами, указывающими на правильный проект библиотеки, и помечены, что их нельзя скопировать в выходную папку при сборке. Редактирование одного, обновление другого и наоборот.

Я сдул все файлы и локальный репозиторий Git и снова запустил процесс клонирования и сборки, чтобы убедиться, что файлы появились только во время процесса сборки.

Добавление дубликатов файлов (сотни!) В .gitignore, конечно, помогает избежать двойной записи, но мой вопрос заключается в том, что заставило их появляться в Git, когда они никогда не были проблемой в TFVC и есть ли другие варианты кроме .gitignore, чтобы эти файлы не дублировались в хранилище. Я не нашел никакой ссылки на эту проблему в другом месте.

Все в мире Windows, как и следовало ожидать.

Редактировать: В конце концов, я добавил несколько полных каталогов в .gitignore и перешел и с тех пор покинул компанию и не могу заниматься этим дальше.

1 Ответ

0 голосов
/ 28 октября 2018

Возможно, вы захотите добавить .gitignore для вашего конкретного языка / IDE из https://github.com/github/gitignore

...