Що таке стелажі в TFS?


317

Чи зберігання в TFS - це лише м'яка реєстрація, щоб інші члени команди могли бачити вихідний код?

тобто збережений код не буде складено правильно?

Відповіді:


453

Стелаж має багато застосувань. Основні з них:

  1. Контекстна комутація : збереження роботи над вашим поточним завданням, щоб ви могли перейти до іншого завдання з високим пріоритетом. Скажіть, що ви працюєте над новою функцією, враховуючи власний бізнес, коли ваш начальник забігає і каже "Аааа! і вам доведеться скинути свої поточні зміни на функцію та перейти до виправлення помилки. Ви можете захистити свою роботу над функцією, виправити помилку, а потім повернутися і не намагатися пізніше працювати над своїми змінами.
  2. Набір наборів змін : Якщо ви хочете поділитися кодом змін, не перевіряючи його, ви можете полегшити доступ іншим, відклавши його. Це може бути використане, коли ви передаєте незавершене завдання комусь іншому (бідна душа) або якщо у вас є якийсь код тестування, ви ніколи не перевірятимете, чи потрібен хтось інший. ч / т на інші відповіді про використання цього для оглядів, це дуже гарна ідея.
  3. Збереження свого прогресу : Під час роботи над складною функцією ви можете опинитися в «хорошій точці», де ви хочете зберегти свій прогрес. Це ідеальний час для зберігання коду. Скажімо, ви зламаєте деякі CSS / HTML, щоб виправити помилки візуалізації. Зазвичай ти б'єшся по ньому, повторюючи всі можливі клопоти, які можна придумати, поки це не здасться правильним. Однак, як тільки це виглядає правильно, ви можете спробувати повернутися до очищення розмітки, щоб хтось інший міг зрозуміти, що ви зробили, перш ніж перевірити це. У цьому випадку ви можете відкласти код, коли все стане правильним , тоді ви можете перейти та змінити розмітку своєї марки, знаючи, що якщо випадково її знову зламаєте, ви завжди можете повернутися назад та отримати свій набір змін.

Будь-яке інше використання?


16
Якщо зберігати набір змін, ви можете або зберегти очікувані зміни локально (корисно для 2 або 3), або ні (корисно для 1)
dumbledad

2
Документація Visual Studio на стелажах має додатковий контекст і способи подання інформації.
Цілісний розробник

1
Він також використовується збірною коробкою для зберігання змін, поки не може бути зроблено остаточний фіксатор.
Tore Østergaard

Одне, що я помітив, - це те, що зміни Shelving не обов'язково повертають код, а також не змінюють стан файлів, на які було зареєстровано. Тому, коли ви працюєте над цими, наприклад, змінами помилок, як уникнути вчинення коду зміни помилки разом із ваш відкладений код?
Жак

Щойно зрозуміли, що файли залишаються перевіреними, коли ви вибираєте опцію збереження набору змін локально.
Жак

105

Стелажі - це спосіб збереження всіх змін у коробці без реєстрації. Зміни зберігаються на сервері. У будь-який пізній час ви або хтось із ваших товаришів по команді може "повернути" їх назад на будь-яку вашу машину.

Він також чудово підходить для огляду. У моїй команді для реєстрації ми відкладаємо свої зміни та надсилаємо електронний лист із описом зміни та назвою набору змін. Потім люди в команді можуть переглядати набір змін і надати відгук.

FYI: Найкращий спосіб переглянути набір полиць - це наступна команда

tfpt огляд / патрон: setveveName; userName

tfpt є частиною Електроінструментів Team Foundation


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

34

Це вірно. Якщо ви створили полицю, інші люди, які отримують найновіші новини, не побачать ваш код.

Він вносить зміни вашого коду на сервер, що, ймовірно, краще резервне копіювання, ніж ваш робочий ПК.

Це дозволяє вам підбирати зміни на іншій машині, якщо ви відчуваєте потяг до роботи з дому.

Інші можуть бачити ваші полки (хоча, я думаю, це може бути необов’язковим), щоб вони могли переглянути ваш код до реєстрації.


Це вірно. Якщо ви створили полицю, інші люди, які отримують найновіші новини, не побачать ваш код. Це означає 1) коли я зареєструю код у TFS, тоді мій член команди побачить код у своєму systen, якщо він отримає останню? 2) Отже, це означає, за допомогою якого облікового запису ми зберегли код, лише з того самого рахунку ми побачимо збережений код? будь ласка, виправте мене, якщо я помиляюся
Кріш,

При бажанні ви можете побачити полиці інших людей.
teedyay

3
Якщо бути точнішим, "інші люди, які отримують останню інформацію, не завантажують ваш код"
sergiol

18

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

Я розумію, що процес такий:

  1. Щоб призупинити поточні зміни, що очікують, клацніть правою кнопкою миші проект, «Стелаж», додайте назву полиці
  2. Це дозволить зберегти (або зберігати) зміни на сервері (ніхто їх не побачить)
  3. Потім ви скасуєте очікувані зміни, щоб повернути код до останнього пункту реєстрації
  4. Потім ви можете зробити все, що вам потрібно зробити з поверненою базовою лінією коду
  5. Ви можете скасувати зміни в будь-який час (може знадобитися певна конфліктність злиття)

Тож, якщо ви хочете розпочати якусь роботу, яку вам може знадобитися на Shelve, переконайтеся, що ви зареєструєтесь перед тим, як почати роботу, оскільки пункт реєстрації - це місце, куди ви повернетесь, виконуючи крок Скасувати зміни, що очікують вище.


8
Ви можете пропустити крок скасування змін, що очікують, якщо ви знімете прапорець "Зберегти очікувані зміни локально" під час створення набору полиць.
Майкл Дж.

14

Я постійно стикаюся з цим, тому додаткова інформація щодо галузей:

Якщо ви працюєте з декількома гілками, полиці прив’язані до певної гілки, в якій ви їх створили. Отже, якщо ви дозволяєте змінному іржавіти на полиці занадто довго і вам доведеться не рухатись до іншої гілки, то вам доведеться це зробити з липневим випуском електроінструментів.

tfpt unshelve /migrate

Немає теми, але правда :-)
Tore Østergaard

2
Цей коментар настільки старий, що він був доданий до встановлення ettiquete відповіді про переповнення стека :-)
joshua.ewer

2

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


1

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


0

Якщо ви використовуєте вбудовані конструкції, коли збірка спрацьовує, вона створює набір вашої робочої області, що подається для збирання. Якщо збірка не вдається, полицю відхиляють. Якщо збірка буде успішною, створюється набір змін та передається в TFS. У будь-якому випадку особі, яка здійснює реєстрацію / збірку, доведеться узгодити робочу область, що так само просто, як виконувати Останнє отримання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.