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

Полки и рабочие пространства в TFS

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

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

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

Кстати, у меня возникла идея создать вторую рабочую область здесь.

4b9b3361

Ответ 1

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

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

Однако я нашел один случай, когда это было очень полезно для меня: Я часто отказываюсь от двух разных машин разработки (один в офисе, один на дому, подключенный через VPN). Если я работаю над чем-то, и я хочу перенести его из дома на работу, или наоборот, я часто использую стеллажи. Я могу отложить его с одной машины и отложить ее от другого. Я делаю это, когда я нахожусь в середине изменения, и проверка будет разбивать сборку или иным образом прерывать других разработчиков.

Ответ 2

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

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

Ответ 3

Стеллаж - идеальный вариант. Стеллаж позволяет вам вносить изменения в MFS в TFS вне регулярной сборки и извлекать их позже по имени. Несколько рабочих областей не являются решением для того, что вы делаете. Несколько рабочих областей хороши, если вы поддерживаете разные версии продукта и должны работать над ними, например. скажем, у вас есть продукт 4.0 и 5.0 и вам необходимо применить исправление безопасности для обеих версий. Стеллажи замечательны, если вы хотите внести изменения, но не немедленно их совершите.