Что такое стеллажи в TFS?

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

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


person Community    schedule 17.02.2009    source источник


Ответы (8)


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

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

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

person TJB    schedule 18.02.2009
comment
При откладывании набора изменений можно либо сохранить ожидающие изменения локально (полезно для 2 или 3), либо нет (полезно для 1) - person dumbledad; 11.01.2014
comment
Документация Visual Studio по стеллажам имеет некоторый дополнительный контекст и как информацию. - person Holistic Developer; 24.01.2018
comment
Он также используется сборкой Gated для хранения изменений до тех пор, пока не будет выполнена окончательная фиксация. - person Tore Østergaard; 25.05.2018
comment
Одна вещь, которую я заметил, заключается в том, что изменения стеллажей не обязательно приводят к возврату кода и не изменяют состояние файлов, которые нужно зарегистрировать. Так что пока вы работаете над ними, например изменения ошибки, как избежать фиксации кода изменения ошибки вместе с кодом, отложенным на полке? - person Jacques; 28.08.2018
comment
Просто понял, что файлы остаются извлеченными, когда вы выбираете вариант локального сохранения набора изменений. - person Jacques; 28.08.2018
comment
Какие недостатки использования стеллажей в TFS? - person Vyache; 10.05.2019

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

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

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

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

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

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

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

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

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

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

person teedyay    schedule 17.02.2009
comment
Верно. Если вы создадите полку, другие люди, выполняющие последнюю версию, не увидят ваш код. Это означает 1) когда я верну код в TFS, тогда член моей команды увидит код в своей системе, если он получит последнюю? 2) Значит, в какой учетной записи мы отложили код, только из той же учетной записи мы увидим отложенный код? пожалуйста, поправьте меня, если я ошибаюсь - person Krish; 28.07.2015
comment
Вы можете увидеть полки других людей, если хотите. - person teedyay; 02.08.2015
comment
Чтобы быть более точным, другие люди, устанавливающие последнюю версию, не будут загружать ваш код. - person sergiol; 22.07.2016

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

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

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

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

person Nick Wright    schedule 23.10.2015
comment
Вы можете пропустить этап отмены ожидающих изменений, если снимете флажок Сохранять ожидающие изменения локально при создании набора полок. - person Michael J.; 31.01.2017

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

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

tfpt unshelve /migrate
person joshua.ewer    schedule 17.02.2009
comment
Не по теме, но факт :-) - person Tore Østergaard; 25.05.2018
comment
Этот комментарий настолько старый, что был добавлен до того, как был установлен ettiquete ответ на переполнение стека :-) - person joshua.ewer; 28.06.2018

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

person Mr. N. Das    schedule 24.01.2018

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

person Daniel    schedule 13.04.2016

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

person Jim Roth    schedule 19.05.2016