Есть ли способ сравнить две ветви для различий / версий файлов в VS2010? - PullRequest
32 голосов
/ 09 июня 2011

Кто-нибудь знает, есть ли способ проверить, не является ли код из производственной ветви исправлений не новее, чем основная ветвь, с помощью какого-либо инструмента сравнения? (hotfix1 vs thrunk)

\src
    \thrunk
    \releases
        \hotfix1

Я использую vs2010 с TFS, но в ветках много файлов, и все, что мне пришло в голову, это сравнивать по одному файлу за раз, заново указав целевой путь одного из них.

Ответы [ 7 ]

148 голосов
/ 09 июня 2011

Вы можете сделать это прямо из Visual Studio - если вы откроете Team Explorer и перейдете в Source Control, вы сможете рекурсивно сравнивать папки (даже те, которых у вас нет в рабочей области). Просто перейдите к одной из ветвей, щелкните правой кнопкой мыши и выберите Compare и введите другую ветвь в качестве цели.

7 голосов
/ 24 июня 2017

В Visual Studio в строке меню выберите:

  1. Вид >> Прочие окна >> Проводник управления источниками
  2. Щелкните правой кнопкой мышиэлемент (папка, ветка, файл и т. д.) >> Сравнить ...
  3. Введите элемент для сравнения в целевом пути, как показано ниже

ПРИМЕЧАНИЕ: обратите внимание на все различные опции, которые есть на этом экране.

enter image description here

4 голосов
/ 11 октября 2012

Использование функции «Сравнить», как упоминалось ранее, замечательно, но наличие хороших фильтров делает ее более полезной. В противном случае вы можете быть перегружены огромным количеством информации.

Вот фильтры, которые я сейчас использую, которые очень хорошо работают для меня:

!debug\;!obj\;!bin\;!temp\;!*ReSharper*\;*.sln;*.*proj;*.config;*.cs;*.vb;*.bmp;*.GIF;*.JPG;*.png;*.ico;*.ini;*.resx;

Первые несколько элементов исключают некоторые папки, которые вы, вероятно, хотите исключить (отладка, obj, bin, temp, Resharper, если вы его используете - и это настоятельно рекомендуется делать!). Остальные файлы, которые я считаю полезными для поиска. Если вы хотите увидеть другие типы файлов, просто добавьте их в конец списка.

4 голосов
/ 09 июня 2011

Используя инструмент командной строки tf.exe, вы можете сравнить две ревизии произвольных файлов, но обе должны быть в вашей рабочей области.

См. Интерактивную справку по tf diff для получения подробной информации (и здесь для указания версий).

NB. В VS использовать Tools | Варианты | Контроль источника | Visual Studio Team Foundation Server | Сконфигурируйте Инструменты пользователя, чтобы определить, какое приложение diff / merge использовать (веб-поиск найдет подходящую командную строку). Ввод .* для типа файла будет использоваться для всего без более конкретного набора инструментов.

1 голос
/ 06 мая 2016

Вы можете объединить одну ветку в другую без фиксации. Затем вы можете увидеть все изменения в визуальной студии. Когда вы закончите, вам просто нужно сбросить все изменения (если вы не хотите объединяться).

0 голосов
/ 15 декабря 2016

Вы можете сделать это легко из Visual Studio, но если вы похожи на меня и не хотите связываться с местным филиалом, вы также можете сделать это с веб-сайта VSTS

  • перейдите натянуть запрос
  • выберите вкладку Файлы
  • выберите файл, который вы хотите сравнить (вы увидите ...), который откроет меню
  • Просмотр истории
  • Найдите файл, который вы хотите сравнить
  • Выберите вкладку Сравнить
  • Вверху вы увидите номер коммита, который вы можете изменить, чтобы сравнить версии вашего файла

это не так сложно, как кажется, :)

0 голосов
/ 27 августа 2012

на самом деле вам не обязательно находиться в одном рабочем пространстве, чтобы сравнивать с VS - или даже с обоими в TFS.1 или оба могут быть в файловой системе («Local Path ...» в «Compare» dlg) или в TFS («Server Path ...»).Раздел «Фильтр» также очень мощный, чтобы иметь возможность расширять / ограничивать объекты сравнения по типу файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...