Что такое стеллажи в TFS?
Является ли откладывание в TFS простой проверкой, чтобы другие члены команды могли видеть исходный код?
т.е. отложенный код не будет скомпилирован правильно?
8 ответов
Стеллажи имеют много применений. Основными из них являются:
- Переключение контекста: сохранение работы над текущей задачей, чтобы вы могли переключиться на другую задачу с высоким приоритетом. Скажем, вы работаете над новой функцией, занимаясь своим собственным делом, когда ваш босс врывается и говорит: "Аааа! Баг Баг Баг!" и вы должны отбросить текущие изменения в этой функции и исправить ошибку. Вы можете отложить работу над этой функцией, исправить ошибку, а затем вернуться и отказаться от нее, чтобы работать над изменениями позже.
- Совместное использование наборов изменений: если вы хотите поделиться набором изменений кода, не регистрируя его, вы можете упростить доступ к нему для других, отложив его на полку. Это может быть использовано, когда вы передаете незавершенное задание кому-то другому (бедняга) или если у вас есть какой-то код для тестирования, вы НИКОГДА не проверяете, что кому-то еще нужно выполнить. h / t к другим ответам об использовании этого для обзоров, это очень хорошая идея.
- Сохранение вашего прогресса. Пока вы работаете над сложной функцией, вы можете оказаться в "хорошей точке", где вы хотели бы сохранить свой прогресс. Это идеальное время для хранения вашего кода. Скажем, вы взломали CSS / HTML, чтобы исправить ошибки рендеринга. Обычно вы стучите по нему, повторяя каждый возможный клудж, который можете придумать, пока он не будет выглядеть правильно. Однако, если все выглядит правильно, вы можете попытаться вернуться и очистить свою разметку, чтобы кто-то еще мог понять, что вы сделали, прежде чем ее зарегистрировать. В этом случае вы можете отложить код, когда все будет правильно., тогда вы можете пойти и реорганизовать свою разметку, зная, что если вы случайно ее сломаете, вы всегда можете вернуться и получить набор изменений.
Любое другое использование?
Стеллажи - это способ сохранить все изменения на вашем ящике без регистрации. Изменения сохраняются на сервере. В любое время вы или кто-либо из ваших товарищей по команде можете "убрать" их обратно на любую из ваших машин.
Это также отлично подходит для обзора. В моей команде для регистрации мы отложим наши изменения и отправим электронное письмо с описанием изменений и названием набора изменений. Люди в команде могут затем просмотреть набор изменений и дать обратную связь.
К вашему сведению: лучший способ просмотреть набор полок с помощью следующей команды
tfpt обзор / shelveset: shelvesetName; userName
tfpt является частью Team Foundation Power Tools
Вот так. Если вы создадите полку, другие люди, делающие последние обновления, не увидят ваш код.
Он помещает ваши изменения кода на сервер, который, вероятно, лучше защищен, чем ваш рабочий ПК.
Это позволяет вам забрать свои изменения на другой машине, если вы чувствуете желание работать из дома.
Другие могут видеть ваши полки (хотя я думаю, что это может быть необязательным), поэтому они могут просмотреть ваш код до регистрации.
Во многих из этих обсуждений упущен один момент: как вы вернетесь на тот же компьютер, на котором отложили свои изменения. Возможно, очевидно для большинства, но не для меня. Я полагаю, что вы выполняете отмену ожидающих изменений - это правильно?
Я понимаю, процесс должен быть следующим:
- Чтобы отложить текущие ожидающие изменения, щелкните правой кнопкой мыши проект Shelve и добавьте название полки.
- Это сохранит (или отложит) изменения на сервере (никто их не увидит)
- Затем вы делаете Отмена ожидающих изменений, чтобы вернуть ваш код к последней точке регистрации
- Затем вы можете делать то, что вам нужно, с помощью исходного кода с обращенным кодом
- Вы можете отменить изменения в любое время (может потребоваться конфликт слияния)
Итак, если вы хотите начать какую-то работу, которая может потребоваться для полки, убедитесь, что вы зарегистрировались до начала, так как точка регистрации - это то место, к которому вы вернетесь, выполняя шаг отмены отложенных изменений, описанный выше.
Я сталкиваюсь с этим все время, поэтому дополнительную информацию о филиалах:
Если вы работаете с несколькими ветвями, наборы полок привязаны к конкретной ветви, в которой вы их создали. Таким образом, если вы слишком долго ржавеете с помощью набора изменений и вынуждены переходить в другую ветвь, то это необходимо сделать с выпуском электроинструментов в июле.
tfpt unshelve /migrate
Стеллажи, как будто ваши изменения были сохранены в системе контроля версий, не влияя на существующие изменения. Означает, что если вы включите файл в системе контроля версий, он изменит существующий файл, но откладывание будет похоже на сохранение ваших изменений в системе контроля версий, но без изменения фактических изменений.
@JaredPar: Да, вы можете использовать наборы полок для обзоров, но имейте в виду, что наборы полок могут быть перезаписаны вами / другими людьми и, следовательно, не являются стабильными в долгосрочной перспективе. Поэтому для нормативно-правовых обзоров вы никогда не должны использовать Shelveset в качестве базы, а вместо проверки (Changeset). Для неформального обзора это нормально, но не для официального (например, FTA) обзора!
Если вы используете сборки Gated, при запуске сборки создается набор полок вашего рабочего пространства, который передается для сборки. Если сборка не удалась, набор полок отклоняется. Если сборка прошла успешно, набор изменений создается и фиксируется в TFS. В любом случае человек, выполняющий эту регистрацию / сборку, должен будет согласовать рабочее пространство, что так же просто, как выполнить Get Latest.