Подтвердить что ты не робот

Что такое "Исключенные изменения" в Team Foundation Server?

Когда я регистрирую изменения в TFS Express 2013 с помощью Visual Studio 2013 Professional, есть список "Исключенные изменения", в котором содержится 1541 элемент.

Я никогда не говорил TFS исключать изменения и не понимаю, почему кто-то даже хотел бы "исключить" изменение (не является ли исходный контроль все о SAVING изменениях?). Я немного обеспокоен тем, что у меня есть изменения, которые не сохраняются... но я даже не уверен, что это даже то, что это значит. У меня есть Googled для получения дополнительной информации об "Исключенных изменениях" в TFS, но не нашел никаких объяснений.

Может ли кто-нибудь объяснить мне: что такое Исключенные изменения? Почему я хочу исключить изменение? И почему существует 1541 исключенных изменений, которые я никогда не просил исключить? Должен ли я беспокоиться о том, что изменения исключаются? Должен ли я изменить эти исключенные изменения на INCLUDED изменения?

4b9b3361

Ответ 1

Есть несколько вещей, которые могут привести к исключению "изменения":

  • Team Explorer по умолчанию игнорирует файлы в obj/* и bin/* и несколько других папок. А также некоторые расширения, такие как .csproj.user.
  • Они не загружены в ваше текущее решение, поэтому Team Explorer предполагает, что они сделаны как часть другого решения и что вы не хотите их проверять вместе с изменениями, которые соответствуют контексту, re in.
  • Они создаются в другом рабочем пространстве, снова Team explorer предполагает, что вы хотите проверить группы файлов, которые логически имеют смысл.
  • Они вручную исключаются из текущей проверки. Вы можете сделать это, когда хотите сначала проверить в одном файле, который исправил ошибку 123, а затем проверить другой набор файлов, которые исправили ошибку 124.
  • Файлы, созданные за пределами Visual Studio, никогда не добавляются автоматически, поэтому, когда вы застегиваете набор файлов .cs и этот ZIP файл попадает в папку рабочей области, Team Explorer обнаружит его, но не добавит его автоматически.
  • Существует последняя проблема, которая может произойти здесь, если по какой-то причине проект не был добавлен в исходный элемент управления или привязки в файле решения не были правильно проверены, то любой файл, добавленный в этот проект будет проигнорирован, так как Visual Studio предполагает, что проект не должен находиться под контролем источника.
  • Использование "Добавить существующий проект" не автоматически ставит этот проект под одни и те же привязки к исходному контролю как решение. что заставит командного исследователя предположить 6.
  • Путь может быть ранее "скрыт" или "не отображается", сопоставляя папку после того, как факт не сообщает Team Explorer, чтобы добавить их.
  • Возможно, вы работали в автономном режиме и использовали рабочую область сервера. Когда вы сообщаете Team Explorer, чтобы он вернулся в Интернет, вам нужно убедиться, что все добавления выполнены правильно. Локальная рабочая область не имеет этой проблемы, так как она может локально отслеживать изменения без необходимости разговаривать с сервером.
  • Возможно, вы выбрали "Проверить ожидающие изменения" из подпапки в обозревателе решений (или в отдельном элементе или проекте) или в проводнике исходного кода. Когда вы это сделаете, Team Explorer привязывает окно ожидающих изменений к только тем элементам, которые соответствуют этому контексту. Все остальные изменения временно перемещаются в раздел "Исключенные изменения".

Вы должны просмотреть список исключенных изменений и либо игнорировать их, используя ваш файл .tfignore. Вы также можете сделать это из пользовательского интерфейса, щелкнув правой кнопкой мыши на таком исключенном изменении и выбрав опцию игнорировать путь/расширение или шаблон.

enter image description here

В принципе, если вы видите материал в разделе "Исключенные файлы", либо щелкните правой кнопкой мыши/включите их, либо добавьте их в файл .tfignore.

Таким образом, по крайней мере, очень ясно, что элементы в этом списке еще не оценены и, вероятно, должны быть включены.

Вы также можете проверить привязки исходного кода, открыв File/Source Control/Advanced/Change Source Control Bindings..., чтобы все проекты отображались как связанные с sourcecontrol и не отображали никаких ошибок.

Некоторый дополнительный контекст

В Git, а также в других системах управления источниками изменения часто не автоматически затягиваются. Это делается для того, чтобы вы случайно не проверяли вещи, которые не собирались делать. В Git вам нужно явно вызвать git add, чтобы отметить изменение, которое вы намерены совершить. Пока вы это сделаете, это изменение считается "невоспроизводимым", что по сути является функцией "Исключенные изменения" TFVC.

Subversion (SVN) имеет аналогичное поведение, когда измененные файлы помечены как unversioned и должны быть добавлены явно через вызов svn add.

Так что это не очень странное поведение для системы управления версиями. Он по существу ставит вас в управление вашими источниками.

Ответ 2

Требуется указать другой случай, когда файлы исключены. Если вы добавите проект из шаблона или новый элемент в свой проект, который включает в себя имя по умолчанию, например "MainWindow", переименуйте или удалите этот файл перед внесением изменений. "MainWindow" будет в исключенных изменениях, а элемент с новым именем будет включен в Включенные изменения. В этом случае вы можете безопасно удалить их.