Что такое стеллажи в TFS? - PullRequest
301 голосов
/ 17 февраля 2009

Является ли полка в TFS простой проверкой, чтобы другие члены команды могли видеть исходный код?

т.е. отложенный код не будет скомпилирован, верно?

Ответы [ 8 ]

441 голосов
/ 18 февраля 2009

Стеллажи имеют много применений. Основные из них:

  1. Переключение контекста : Сохранение работы над текущей задачей, чтобы вы могли переключиться на другую задачу с высоким приоритетом. Скажем, вы работаете над новой функцией, занимаясь своим собственным делом, когда ваш босс врывается и говорит: «Аааа! Баг Баг Баг!» и вы должны отказаться от текущих изменений в функции и исправить ошибку. Вы можете отложить работу над этой функцией, исправить ошибку, а затем вернуться и отказаться от нее, чтобы работать над изменениями позже.
  2. Совместное использование наборов изменений : если вы хотите поделиться набором изменений кода, не регистрируя его, вы можете упростить доступ для других, отложив его на полку. Это может быть использовано, когда вы передаете незавершенное задание кому-то другому (бедняга) или если у вас есть какой-то код для тестирования, вы НИКОГДА не проверяете, что кому-то еще нужно выполнить. ч / т к другим ответам об использовании этого для обзоров, это очень хорошая идея.
  3. Сохранение вашего прогресса : Пока вы работаете над сложной функцией, вы можете оказаться в «хорошей точке», где вы хотели бы сохранить свой прогресс. Это идеальное время для хранения вашего кода. Скажем, вы взломали CSS / HTML, чтобы исправить ошибки рендеринга. Обычно вы стучите по нему, повторяя каждый возможный клудж, который можете придумать, пока он не будет выглядеть правильно. Однако, если все выглядит правильно, вы можете попытаться вернуться и очистить свою разметку, чтобы кто-то еще мог понять, что вы сделали, прежде чем ее зарегистрировать. В этом случае вы можете отложить код, когда все будет правильно. тогда вы можете пойти и реорганизовать свою разметку, зная, что если вы случайно ее сломаете, вы всегда можете вернуться и получить набор изменений.

Любое другое использование?

103 голосов
/ 17 февраля 2009

Стеллаж - это способ сохранить все изменения на вашем ящике без регистрации. Изменения сохраняются на сервере. В любое время вы или кто-либо из ваших товарищей по команде можете «убрать» их обратно на любую из ваших машин.

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

К вашему сведению: лучший способ просмотреть набор полок - использовать следующую команду

tfpt обзор / shelveset: shelvesetName; userName

tfpt является частью Team Foundation Power Tools

33 голосов
/ 17 февраля 2009

Это верно. Если вы создадите полку, другие люди, делающие последние обновления, не увидят ваш код.

Он помещает ваши изменения кода на сервер, который, вероятно, лучше защищен, чем ваш рабочий ПК.

Это позволяет вам забрать свои изменения на другом компьютере, если вы чувствуете желание работать из дома.

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

14 голосов
/ 17 февраля 2009

Я сталкиваюсь с этим все время, поэтому дополнительная информация о филиалах:

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

tfpt unshelve /migrate
13 голосов
/ 23 октября 2015

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

Я понимаю, что процесс выглядит следующим образом:

  1. Чтобы отложить текущие ожидающие изменения, щелкните правой кнопкой мыши проект, Shelve, добавьте название полки
  2. Это сохранит (или отложит) изменения на сервере (никто их не увидит)
  3. Затем вы делаете Отмена ожидающих изменений, чтобы вернуть ваш код обратно к последней точке регистрации
  4. Затем вы можете делать то, что вам нужно, с помощью базовой линии обращенного кода
  5. Вы можете Отменить внесение изменений в любое время (может потребоваться конфликт при объединении)

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

2 голосов
/ 24 января 2018

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

1 голос
/ 13 апреля 2016

@ JaredPar: Да, вы можете использовать Shelvesets для обзоров, но имейте в виду, что shelvesets могут быть перезаписаны вами / другими людьми и, следовательно, не являются стабильными в долгосрочной перспективе. Поэтому для нормативно-правовых проверок вы никогда не должны использовать Shelveset в качестве базы, а вместо этого (Checkset). Для неформального обзора это нормально, но не для официального (например, FTA) обзора!

0 голосов
/ 20 мая 2016

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

...