Есть ли способ сравнить две ветки для версий различий/файлов в VS2010?
Кто-нибудь знает, есть ли способ проверить, не является ли код из ветки исправления для производства не новее, чем основной поток через какой-нибудь инструмент diff? (hotfix1 vs trunk)
\src
\thrunk
\releases
\hotfix1
Я использую vs2010 с TFS, но в ветвях есть много файлов, и все, что я придумал, это сравнение одного файла за раз, переустановив целевой путь для одного из них.
Ответы
Ответ 1
Используя инструмент командной строки tf.exe
, вы можете сравнить две версии произвольных файлов, но оба они должны быть в вашей рабочей области.
Подробнее см. интерактивную справку tf diff
(и здесь для указания версий).
NB. В VS используйте Tools | Варианты | Контроль источника | Visual Studio Team Foundation Server | Настройте Инструменты пользователя, чтобы определить, какое приложение diff/merge использовать (веб-поиск найдет нужную командную строку для использования). Ввод .*
для типа файла будет использоваться для всего, не имея более определенного набора инструментов.
Ответ 2
Вы можете сделать это прямо из Visual Studio - если вы откроете Team Explorer и перейдите в Source Control, вы можете сравнивать рекурсивные папки (даже те, которые у вас нет в вашей рабочей области.) Просто перейдите к одной из ветвей, щелкните правой кнопкой мыши и выберите Compare
и введите другую ветку в качестве цели.
Ответ 3
Использование функции "Сравнить", как упоминалось ранее, замечательно, но наличие хороших фильтров делает ее более полезной. В противном случае вы можете перегружать огромные объемы информации.
Вот фильтры, которые я использую в настоящее время, которые очень хорошо работают для меня:
!debug\;!obj\;!bin\;!temp\;!*ReSharper*\;*.sln;*.*proj;*.config;*.cs;*.vb;*.bmp;*.GIF;*.JPG;*.png;*.ico;*.ini;*.resx;
Первые несколько элементов устраняют некоторые папки, которые вы, вероятно, хотите исключить (debug, obj, bin, temp, Resharper, если вы его используете), и настоятельно рекомендуется вам это делать!).
Остальные файлы, которые я считаю полезными для включения в поиск. Если есть другие типы файлов, которые вы хотите увидеть, просто добавьте их в конец списка.
Ответ 4
В Visual Studio в строке меню выберите:
- Показать → Другие ОС Windows → Исходный проводник
- Щелкните правой кнопкой мыши элемент (папка, ветвь, файл и т.д.) → Сравнить...
- Введите элемент для сравнения с целевым контуром, как показано ниже
ПРИМЕЧАНИЕ. Обратите внимание на все различные параметры, которые у вас есть на этом экране.
![введите описание изображения здесь]()
Ответ 5
Вы можете объединить одну ветку в другую без фиксации. Затем вы можете увидеть все изменения в визуальной студии. Когда вы закончите, вы просто должны reset все изменения (если вы не хотите сливаться).
Ответ 6
на самом деле вам не нужно находиться в одном рабочем пространстве, чтобы сравнивать с VS - или даже в обоих TFS. 1 или оба могут быть в файловой системе ( "Локальный путь..." в "Сравнить" dlg) или в TFS ( "Путь сервера..." ). Раздел "Фильтр" также очень эффективен, чтобы иметь возможность расширять/ограничивать объекты сравнения по типу файла.
Ответ 7
Вы можете сделать это легко из Visual Studio, но если вы похожи на меня и не хотите связывать свою локальную ветку, вы также можете сделать это с веб-сайта VSTS
- перейти к запросу pull
- выберите вкладку "Файлы"
- выберите файл, который вы хотите сравнить (вы увидите...), который откроет меню
- Просмотр истории
- Найдите файл, который хотите сравнить.
- Выберите вкладку Сравнить
- Вы увидите номер фиксации сверху, который вы можете изменить, чтобы сравнить версии вашего файла.
это не так сложно, как кажется,:)