Ветвление ASP.NET MVC TFS

Я прочитал несколько сообщений о функции ветвления и слияния SVC и создании ветвей в TFS, следуя этим шагам, я создал ветвь для критического изменения функции приложения ASP.NET MVC. После успешного создания ветви разветвленные файлы ( новые файлы), исключенные из приложения, попытка включить файлы в проект приведет к дублированию ошибок подписи. поэтому я должен внести изменения в исходные файлы (файлы, доступные до ветвления), теперь я не знаю фактического назначения ветвей.

Если мне нужно работать с существующими файлами, зачем мне создавать ветку?

Как настроить и настроить операцию ветвления в системе контроля версий TFS?

Насколько реально это помогает?

Изменить:

Прикрепленное изображение успешное создание ветки. Я нашел два каталога в одном контроллере и в другой ветке контроллера (которая по умолчанию исключена из проекта). Теперь в каком наборе файлов мне нужно работать?

Когда я работаю в наборе файлов «Контроллеры», эти изменения отталкивают других разработчиков, поэтому я не вижу там никакой изоляции среды.

Если мне нужно работать в "Контроллерах-филиале", почему его исключают из проекта? когда я пытаюсь включить «Контроллеры-ветвь» в проект, определения кода, имена классов дублируются (т. Е. Эти определения конфликтуют с содержимым папки «Контроллеры»)


person ashok19r91d    schedule 08.07.2017    source источник
comment
Вы имеете в виду создание веток с помощью TFS в Интернете или использование проводника управления исходным кодом VS? Он не может создать ветку TFVC напрямую в TFS. А можете показать ссылки, по которым вы переходили? Кроме того, в этой статье показаны пути и цели ветки TFVC visualstudio.com. /en-us/docs/tfvc/branch-folders-files.   -  person Marina Liu    schedule 10.07.2017
comment
Как создать ветку? Обычно ветвь не вызывает ошибок.   -  person Eddie Chen - MSFT    schedule 12.07.2017
comment
Попробуйте сравнить их после создания новой ветки.   -  person starian chen-MSFT    schedule 12.07.2017
comment
@Marina-MSFT Я уже прошел по этой ссылке и следую тем же инструкциям, чтобы создать ветку; таким образом, как я понимаю, Branch является скопированной версией файла исходного кода. Верно ли это утверждение?   -  person ashok19r91d    schedule 13.07.2017
comment
@ashok19r91d Ashok19r91d Да, следуя документу для создания ветки, вам нужно выбрать опцию добавления файла в систему управления версиями. Есть два способа добавить новый созданный файл в систему управления версиями: 1. при создании нового решения/проекта выберите Добавить в систему управления версиями. 2. Если вы уже создали файл, в VS -> проводник управления версиями -> выберите репозиторий tfvc -> щелкните правой кнопкой мыши -> добавьте новые элементы в папку -> выберите только что созданный файл - › зарегистрируйтесь. Более подробную информацию вы можете найти на visualstudio.com/ en-us/docs/tfvc/add-files-server.   -  person Marina Liu    schedule 14.07.2017
comment
@Marina-MSFT добавление разветвленных файлов в Project создаст повторяющиеся ошибки подписи, т. Е. Методы класса (ов) с тем же именем в том же пространстве имен уже существуют в исходных файлах.   -  person ashok19r91d    schedule 15.07.2017
comment
Можете ли вы добавить подробные шаги для создания ветки и добавить файлы ветки с ошибкой со снимком экрана, если это необходимо в вашем вопросе?   -  person Marina Liu    schedule 17.07.2017
comment
Вопрос @Marina-MSFT обновлен.   -  person ashok19r91d    schedule 19.07.2017
comment
Я даю ответ, почему есть две ветки и почему ветка Controllers исключена из вашего проекта, и вы должны преобразовать Controllers в папку.   -  person Marina Liu    schedule 20.07.2017


Ответы (1)


Почему есть две ветки Controllers и Controllers-branch:

Это связано с тем, что когда вы создаете ветку (ветвление и слияние -> ветку) на основе папки Controllers, вы также выбираете Немедленно преобразовать исходную папку в ветку (включает визуализацию), это преобразует папку Controllers в ветку.

введите здесь описание изображения

Поэтому, исходя из ваших потребностей, вы должны преобразовать ветку Controllers в папку (щелкните правой кнопкой мыши ветку Controllers -> ветвление и слияние -> преобразовать в папку).

Почему Controllers-branch изолирован от вашего проекта:

Это потому, что Controllers-branch — это ветвь, а ветвь TFVC может достичь следующих целей:

• Управление параллельной работой нескольких команд над одной кодовой базой.

• Изолировать риски, связанные с различными наборами изменений в кодовой базе.

• Делать моментальные снимки, а затем поддерживать последующие изолированные изменения (например, для создания ветки релиза).

Так что это должно быть работает изолированно. Если ваша собственная работа — это не только обновленные файлы в папке Controllers, но также вам необходимо изменить файлы для всего проекта, вам следует создать ветку из папки ApplicationMain a,d убедитесь, что не выбран параметр Немедленно преобразовать исходную папку в ветку (включает визуализацию). . Затем вы можете работать над ApplicationMain-branch одновременно с другими разработчиками.

введите здесь описание изображения

person Marina Liu    schedule 20.07.2017
comment
поэтому после преобразования ветки Controllers в папку я могу начать работать с файлами в папках Controllers, и эти изменения будут изолированы от других членов команды, верно? но я так не думаю, потому что во время регистрации эти файлы будут проверены на сервере и доставлены другим участникам, которые PULL (Recursive GET) наборы изменений с сервера; и я не вижу здесь никакой изоляции. - person ashok19r91d; 20.07.2017
comment
Нет, после конвертации ветки Controllers в папку, она все равно не входит в проект, надо работать над Controllers-branch, она изолирована от других участников. - person Marina Liu; 20.07.2017
comment
но файлы исключены из Project, так что никакой Intelisense не помогает в написании кода; даже я не могу проверить код, выполнив приложение. - person ashok19r91d; 20.07.2017
comment
Таким образом, вы должны создать ветку из родительской папки ApplicationMain, а затем работать над ApplicationMain-branch, после чего вы сможете одновременно писать код и тестировать свой код. - person Marina Liu; 20.07.2017
comment
Практически говоря, мне нужно продублировать мой проект (от имени ветки), после завершения исправлений и тестовых примеров я могу объединиться обратно в исходную папку. и, кроме того, создание ApplicationMain-Branch также эквивалентно Controllers-Branch, т.е. что файлы тоже исключены из проекта, откуда следует тот же случай. Моя фундаментальная проблема очень проста! Я не могу понять, где разветвляться (даже после того, как узнал, как разветвляться, как работает разветвление). - person ashok19r91d; 20.07.2017
comment
Да, поскольку Controllers-branch не соответствует вашим требованиям, вы должны удалить эту ветку. Затем создайте ApplicationMain-branch на основе папки ApplicationMain. После того, как ваша работа будет завершена, объедините ApplicationMain-branch с основным кодом, а затем удалите ApplicationMain-branch. - person Marina Liu; 20.07.2017