2009-02-17 5 views
269

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

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

ответ

93

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

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

FYI: Лучший способ пересмотреть shelveset это с помощью следующей команды

TFPT обзор/shelveset: shelvesetName; имя_пользователь

TFPT является частью средств Team Foundation Силовых

+0

Следует отметить, что сегодня не было бы оснований вручную откладывать изменения и получать информацию по электронной почте. Современный процесс - запросить обзор кода. – ChiefTwoPencils

30

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

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

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

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

+0

** Правильно. Если вы создадите полку, другие люди, получающие последние, не увидят ваш код. ** Это означает: 1) когда я буду проверять код в TFS, тогда мой член команды увидит код в своей системе, если он получит последний ? 2) Значит, это означает, по какой учетной записи мы отложили код, из той же самой учетной записи мы увидим только отложенный код?пожалуйста, исправьте меня, если я ошибаюсь – Krish

+0

Если вы хотите, вы можете увидеть полки других людей. – teedyay

+0

Чтобы быть более точным, «другие люди, получающие последние, не будут ** загружать ** ваш код» – sergiol

14

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

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

tfpt unshelve /migrate 
405

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

  1. переключение контекста: Сохранение работы на текущей задаче, так что вы можете переключиться на другой высокий приоритет. Скажите, что вы работаете над новой функцией, имея в виду свой бизнес, когда ваш босс работает и говорит «Ahhh! Bug Bug Bug!». и вам придется отказаться от текущих изменений в функции и исправить ошибку. Вы можете отложить свою работу над этой функцией, исправить ошибку, а затем вернуться и отказаться от работы над вашими изменениями позже.
  2. Обмен изменениями: Если вы хотите поделиться набором изменений кода без его проверки, вы можете облегчить доступ другим пользователям, отложив его. Это может быть использовано, когда вы передаете неполную задачу кому-то другому (бедная душа), или если у вас есть какой-то код для тестирования, который вы никогда бы никогда не проверяли тем, что кому-то еще нужно было работать. h/t к другим ответам об использовании этого для отзывов, это очень хорошая идея.
  3. Сохранение вашего прогресса: Пока вы работаете над сложной функцией, вы можете оказаться в «хорошем месте», где вы хотели бы сохранить свой прогресс. Это идеальное время для откладывания кода. Скажем, вы взламываете некоторые CSS/HTML, чтобы исправить ошибки рендеринга. Обычно вы натыкаетесь на нее, повторяя все возможные kludge, которые вы можете придумать, пока он не будет выглядеть правильно. Однако, как только он выглядит правильно, вы можете попытаться вернуться к себе, чтобы очистить свою разметку, чтобы кто-то еще мог понять, что вы сделали, прежде чем вы ее проверите. В этом случае вы можете отложить код, когда все будет правильно , тогда вы можете пойти и реорганизовать свою разметку, зная, что если вы случайно сломаете ее снова, вы всегда можете вернуться и получить свой набор изменений.

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

+12

При откладывании набора изменений можно либо локально сохранить ожидающие изменения (полезно для 2 или 3), либо нет (полезно для 1) – dumbledad

+0

[Документация Visual Studio на стеллажах] (https://docs.microsoft.com/en-us/vsts/tfvc/suspend-your-work-manage-your-shelvesets) содержит дополнительный контекст и информацию о них. –

5

Один из вопросов, который пропущен во многих из этих обсуждений, - это то, как вы возвращаетесь обратно к ИСПОЛЬЗУЕМОЙ машине, на которой вы отложили свои изменения. Возможно, очевидно для большинства, но не для меня. Я считаю, что вы выполняете Отложенные ожидающие изменения - это правильно?

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

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

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

+0

Вы можете пропустить отмену ожидающих изменений, если вы очистите флажок «Сохранять ожидающие изменения локально» при создании набора полки. –

0

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

0

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

2

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