Я просто перенесли команду из 7 разработчиков из VSS в TFS. Я перенесил весь их код в папку DEV, которую я затем разветвил в папку QA (которую я разветвил в папку PROD). Разработчики обычно не работают над одними и теми же файлами, но есть некоторые общие классы полезности. Весь код предназначен для большого веб-сайта ASP.NET. Когда разработчики готовы объединиться с DEV в QA, они хотят только объединить свои изменения. Например, предположим, что Developer1 работает над проектом в течение последних 3 месяцев, и он готов объединить весь свой код в QA. Однако Developer2 работает над другим проектом за последние 2 месяца, который не готов к объединению. Изменения Developer1 и Developer2 никоим образом не зависят друг от друга, но они не разделены на разные структуры папок, и каждый из них регулярно получает последнюю информацию. Кажется, что разработчик не может объединить свои изменения, не сводя вместе все изменения разработчика2. В настоящее время разработчик1 просматривает окно «Ожидающие изменения» и «Отмена ожидающих изменений» для всех изменений Developer2, но это занимает много времени. Они могут объединять каждый файл по отдельности, но это также требует много времени. Есть ли более простой способ? Я собираюсь иметь коронар, если узнаю, что еще один человек объяснит, насколько проще было работать в VSS.Слияние TFS для пользователей, которые используются для VSS
ответ
Похоже, что лучшая стратегия (продолжение) - это разветвление по проекту. Если Dev1 и Dev2 работают над принципиально разными вещами, они должны иметь свою собственную ветвь кода.
Помните, что все в TFS хранится как дельта и указатели, поэтому вы не увеличиваете размер своего репозитория, не увеличивая его размер. Пока файл не изменится, новая ветвь является только указателем на исходный файл, а затем, когда файл проверен, сохраняется только дельта.
В вашей текущей ситуации вы делаете так называемое слияние «вишневого». Это не забавная вещь (как вы узнаете), и она подвержена ошибкам PEBKAC. По этой причине слияние вишневых щелей категорически не рекомендуется. Однако, если вам нужно делать слияния вишни, вы можете установить некоторый контроль путем слияния с помощью набора изменений (вместо последнего).
Для этого определите набор изменений, которые Dev1 проверил в вашей ветке Dev, затем объедините эти изменения в свою ветку mainline. Вам нужно будет сделать это в порядке от старейшего до новейшего, чтобы получить все файлы. Лучше всего, если вы собираетесь это сделать, придется либо написать утилиту для этого, либо перейти к командной строке TF.EXE, чтобы вы могли объединить свои слияния.
Не забудьте сделать ваши сливается в чистую рабочую область, и вы можете партия все ваши слияниям, прежде чем проверить в.
Основной урок, который вы изучаете здесь является то, что ваша стратегия разветвление/методология является одним из самые важные вещи о SCM (в общем). Мы перешли из StarTeam в TFS чуть более полутора лет назад, и когда мы это сделали, мы потратили примерно 4 месяца на пересмотр нашего подхода к ветвям, пока не придумали что-то, что соответствует нашей среде и нашим процессам разработки.
Есть ли причина, по которой они, кажется, ветвятся все вместо своих собственных изменений?
В диалоговом окне слияния задается вопрос, хотите ли вы разветвить «все изменения до определенной версии» или «только конкретные изменения». Если вы выберете последний, вы можете вишнево выбрать свои изменения и не нужно принимать код каждого. Предполагая, что каждый разработчик работает над неперекрывающимся набором файлов, это не то, что должно вызывать проблемы.
Я читал, что следует избегать сбора вишни. Один из пользователей - это веб-мастер. то есть он работает в основном с HTML и CSS на страницах .aspx, и он вносит небольшие изменения в большое количество страниц в структуре каталогов сайтов - поэтому файлы не перекрываются, но каталоги накладываются довольно немного. Я думаю, что внесение изменений в вишне для него было бы очень утомительным, так как ему пришлось бы объединять один набор изменений за раз, когда у другого пользователя есть изменения, установленные между его наборами изменений (т. Е. Когда он не может выбрать серию своих собственных наборов изменений). Спасибо за ваш ответ. – JacksonD
- 1. Управление Subversion, VSS, TFS для VB6
- 2. как создать область для выбора записей, которые используются большинством пользователей.
- 3. Связанный с VSS/TFS Checkin
- 4. VSS 6.0 to TFS Migration
- 5. VSS to TFS Solution Issue
- 6. Слияние TFS по версии файла
- 7. для модулей js с именами, которые обычно используются для имен имен, которые обычно используются?
- 8. Перекрестное слияние в TFS?
- 9. Аннулирование TFS Слияние Credits
- 10. TFS: Слияние лучших практик
- 11. Subversion для пользователей SourceSafe
- 12. Ресурсы для просмотра, которые используются exe \ dll
- 13. TFS 2015 VSS Query Result Button
- 14. Как слияние TFS работает?
- 15. Как перенести VSS 2005 на TFS 2015?
- 16. Как скрыть определенные списки, которые используются для создания меню для определенных пользователей?
- 17. Проверка зашифрованных процедур для VSS
- 18. TFS 2010 - слияние наборов изменений
- 19. Получение имен пользователей из базы данных, которые не используются потоком
- 20. Слияние SQL-запроса для результатов, которые одинаковы
- 21. Откат TFS частично слияние
- 22. Ветвь TFS и слияние
- 23. TFS как разгрузить слияние?
- 24. TFS Alert для регистрации только для определенных пользователей
- 25. Установка TFS для VS2003
- 26. Какие порты используются для агента сборки/выпуска VSTS/TFS?
- 27. Перенос данных из VSS сервера для Team Foundation Server
- 28. Почему нет VSS для sqlite?
- 29. TFS, делящее слияние на части
Это действительно наш веб-мастер, который делает это трудным. Он в основном меняет HTML и CSS, но он меняет страницы .aspx по всей нашей структуре каталогов.По большей части разработчики могут разделить свои проекты на разные папки (за исключением общего кода), но из-за того, что у нас есть веб-мастер, ответственный за страницы .aspx, это делает невозможным разделение его работы на отдельные папки , Да, мы могли бы сделать это разделение, перейдя к архитектуре, такой как ASP.NET MVC, или поставив наш код позади в разных папках, – JacksonD
, но есть огромная база кода устаревшего кода, и это будет долгим мероприятием. В настоящее время мы не собираем вишни. Мы всегда объединяем последнюю версию файлов. Я подумал о том, чтобы дать веб-мастеру собственную ветку DEV, которую он мог бы затем объединить в QA, но для решения этой проблемы представляется сложной сложностью - например, разработчикам тогда придется периодически (по крайней мере, один раз день) сливаются с QA на DEV, чтобы получить изменения веб-мастера. Спасибо за ваш ответ. – JacksonD
Разветвление для веб-мастера вполне разумно. Что касается слияния от QA до DEV ежедневно, то это хорошая практика, чтобы войти, и они должны быть в состоянии сделать это из своего браузера решений (щелкните правой кнопкой мыши, получите последнюю версию). Это то, как это делают наши разработчики. – Robaticus