Поделиться через


Сведения о сопоставлении команд системы управления версиями Team Foundation (TFVC) с рабочими процессами Git

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

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

В этой статье не подробно рассматриваются команды Git, так как они хорошо документируются в документации по продукту, но показаны примеры, которые помогут вам принять правильные решения, при переходе через типичное создание -> клонирование> - ветвь -> изменение -> фиксация> — push-рабочий процесс.

Начните с самого начала, создав новый репозиторий

Каждый проект может размещать репозитории TFVC и Git в одном проекте, создавая один TFVC и один или несколько репозиториев Git.

Создание репозитория Git в Azure Repos.

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

Начало работы с новым репозиторием Git в Azure Repos

Нажмите кнопку "Создать файл ReadMe" в конце страницы инструкции, чтобы предоставить контекст репозитория и создать журнал.

Создание README для инициализации нового репозитория Git в Azure Repos

Создание рабочей области и получение последней версии

При первом подключении к репозиторию TFVC обычно создается рабочая область и получается последний код. Итак, как приступить к работе в Git?

Как и рабочая область в TFVC clone , репозиторий Git в папку на компьютере. Клонирование скачит все содержимое и журнал репозитория на локальный компьютер. После клонированного репозитория почти все операции выполняются локально. Вы можете работать в автономном режиме с полной резервной копией централизованного репозитория.

git clone https://dev.azure.com/demo-fabrikam/Fabrikam/_git/Mapping-TFVC-actions-to-Git

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

Создание ветви

С помощью Git вы всегда работаете в ветви и по умолчанию вmain ветви. Рекомендуется создать несколько локальных ветвей. Это процесс, который занимает секунды и позволяет легко переключаться между ветвями и работать в изоляции. В отличие от ветвей TFVC, которые относятся к путям, ветви Git находятся в области репозитория. Они являются упрощенными, могут быть только локальными или общими для других пользователей, когда вы готовы предоставить общий доступ к изменениям.

Рассмотрите возможность ветвления, если вам нужно работать в изоляции, необходимо приостановить работу, сосредоточиться на новых функциях или при планировании выполнения запроса на вытягивание Git.

В качестве пользователя TFVC повторите несколько раз:

  • Ветвление рекомендуется!
  • Ветвление Git недорого, быстро и мощно!
  • Git рекомендует использовать локальные ветви.
  • При необходимости опубликуйте локальные ветви в централизованном репозитории.
  • Всегда проверяйте контекст ветви перед внесением изменений.
  • Назовите ветвь с помощью общего соглашения, например users/alias/branchname, например users/doris/newfeature

Создайте и переключитесь на локальную ветвь темы с именем фрэнсиса и демонстрации. Рекомендуется запустить git status первое, чтобы убедиться, что вы находитесь в правой ветви, чтобы начать с.

git checkout -b francis/demo-feature

Создание ветви Git из командной строки Windows

Изменение путем добавления файлов

Как и в случае с TFVC, новые файлы в рабочей папке не являются автоматически частью репозитория. Вы выполняете новые файлы с git add помощью команды, которая является синонимом выполнения add Items to Folder операции в TFVC.

git add <file>

or

git add --all

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

Просмотр ожидающих изменений

Интересно, какие изменения в настоящее время сидят в вашей рабочей среде? Как и раньше, команда Git status или Changes представление в интегрированной среде разработки Visual Studio отобразит изменения в рабочем дереве.

git status

Использование состояния Git для отображения промежуточных изменений

Регистрация изменений и фиксация локально

В TFVC вы предоставляете общий доступ к изменениям с помощью проверки, которая отправляет ожидающие изменения на сервер. Процесс Git немного отличается. Сначала необходимо зафиксировать локальный репозиторий, создав объект фиксации (например, набор изменений), а затем отправить эти изменения на сервер.

Вы фиксируете изменения в локальном репозитории с помощью git commit, аналогичной Checkin Pending Changes TFVC. Ключевое отличие заключается в том, что git commit изменения в локальном репозитории фиксируются вместо удаленного репозитория.

git commit

Проверка изменений с помощью сервера или удаленного репозитория

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

git push --set-upstream origin francis/demo-feature

Чтобы синхронизировать дальнейшие обновления в локальном компьютере с удаленный репозиторий, необходимо отправить изменения с помощьюgit push. Рекомендуется использовать команду Git или интегрированную среду разработки Visual Studio:

  • fetch для скачивания содержимого и предварительного просмотра входящих изменений от других пользователей.
  • pull чтобы скачать и затем объединить изменения с других пользователей.
  • push для совместного использования локальных изменений.

Просмотр журнала

Чтобы увидеть фиксацию, вы только что создали, вы можете просмотреть локальную историю.

Для компактного журнала используйте:

git log --oneline

Для подробного просмотра используйте:

git log

Использование журнала Git для просмотра журнала ветвей

Как показано выше, git log содержит список авторов, электронной почты, даты записи и контрольной суммы SHA-1. В качестве пользователя TFVC можно использовать --stat параметр для включения дополнительных сведений, таких как имя файла и статистика изменений.

Вы также можете просмотреть журнал централизованного репозитория с помощью веб-портала Azure DevOps Services.

На веб-портале Azure DevOps Services выберите "Журнал КОДА>" или "Журнал обозревателя > КОДА>"

Просмотр журнала ветвей в Azure Repos

На этом этапе вы успешно изучили создание -> клонирование - ветвь -> изменение> -> фиксация —> push-рабочий процесс на основе распространенных действий TFVC.

Вы также можете выпустить запрос на вытягивание, опубликовать и ставить изменения на сервере или удаленном репозитории на этом этапе.

Другие действия

Переключение ветвей

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

Командная строка

git checkout <branch>

Если вы забыли, какие ветви у вас есть в локальном репозитории, используйте git branch для перечисления ветвей по умолчанию и известных ветвей.

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

Получение последней версии

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

Командная строка

git pull

or

git fetch

Следуют

git merge FETCH_HEAD

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

Отмена локальных изменений

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

Командная строка

git reset --hard HEAD

Следуют

git pull origin

Следуют

git clean -xdf

Сценарий является синонимом выполнения Get > Latest Version с Overwrite writable files that are not checked out параметрами и Overwrite all files if the local version matches the specified version параметрами в TFVC.

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

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

Q&A

Что такое синхронизация?

"Может ли интегрированная среда разработки Commit and Sync Visual Studio не волшебно делать все это?", вы можете спросить себя.

Выберите Git>Commit или Stash, чтобы открыть изменения Git. Выберите раскрывающееся меню "Зафиксировать все" и выберите "Зафиксировать все" и "Синхронизировать".

Или в Team Explorer выберите раскрывающееся меню "Фиксация" , а затем команду и синхронизацию.

Фиксация и синхронизация в Team Explorer

С магией приходит ответственность! Многие пользователи не любят, sync так как иногда может запутать локальную историю и добавить фиксацию слияния на вершине текущей фиксации. После того как вы находитесь в плохом состоянии, необходимо вернуться к командной строке, так как в настоящее время в интегрированной среде разработки нет поддержки сброса.

Авторы: Джесси Хоуинг, Мартин Хиншелвуд, Майк Фуди и Вилли Шауб из ALM | DevOps Rangers. Подключитесь к ним здесь.

(c) Корпорация Майкрософт 2015 г. Все права защищены. Этот документ предоставляется как есть. Сведения и представления, выраженные в этом документе, включая URL-адрес и другие ссылки на веб-сайт Интернета, могут изменяться без уведомления. Вы берете на себя все риски, связанные с использованием сведений, приводящихся в данном документе.

Данный документ не предоставляет никаких юридических прав на какую-либо интеллектуальную собственность в любом из продуктов корпорации Майкрософт. Этот документ можно копировать и использовать только для внутренних справочных целей.