Сведения о сопоставлении команд системы управления версиями 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.
После создания репозитория вы получите пошаговые инструкции, чтобы быстро приступить к работе.
Нажмите кнопку "Создать файл ReadMe" в конце страницы инструкции, чтобы предоставить контекст репозитория и создать журнал.
Создание рабочей области и получение последней версии
При первом подключении к репозиторию 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
Изменение путем добавления файлов
Как и в случае с TFVC, новые файлы в рабочей папке не являются автоматически частью репозитория. Вы выполняете новые файлы с git add
помощью команды, которая является синонимом выполнения add Items to Folder
операции в TFVC.
git add <file>
or
git add --all
Используя предварительно подготовленный пример, у вас будет 13 новых файлов, которые были включены и выполнены в локальном репозитории.
Просмотр ожидающих изменений
Интересно, какие изменения в настоящее время сидят в вашей рабочей среде? Как и раньше, команда Git status
или Changes
представление в интегрированной среде разработки Visual Studio отобразит изменения в рабочем дереве.
git status
Регистрация изменений и фиксация локально
В 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 log
содержит список авторов, электронной почты, даты записи и контрольной суммы SHA-1. В качестве пользователя TFVC можно использовать --stat
параметр для включения дополнительных сведений, таких как имя файла и статистика изменений.
Вы также можете просмотреть журнал централизованного репозитория с помощью веб-портала Azure DevOps Services.
На веб-портале Azure DevOps Services выберите "Журнал КОДА>" или "Журнал обозревателя > КОДА>"
На этом этапе вы успешно изучили создание -> клонирование - ветвь -> изменение> -> фиксация —> 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. Ниже приведены некоторые полезные справочные сайты для дальнейшего чтения:
- Команды Git, описанные в этом документе, см . в документации по Git
- Думайте, как (a) Git, руководство для перплексированного.
- Как отменить (почти) что-нибудь с Git, Джошуа Венер
Q&A
Что такое синхронизация?
"Может ли интегрированная среда разработки Commit and Sync
Visual Studio не волшебно делать все это?", вы можете спросить себя.
Выберите Git>Commit или Stash, чтобы открыть изменения Git. Выберите раскрывающееся меню "Зафиксировать все" и выберите "Зафиксировать все" и "Синхронизировать".
Или в Team Explorer выберите раскрывающееся меню "Фиксация" , а затем команду и синхронизацию.
С магией приходит ответственность! Многие пользователи не любят, sync
так как иногда может запутать локальную историю и добавить фиксацию слияния на вершине текущей фиксации. После того как вы находитесь в плохом состоянии, необходимо вернуться к командной строке, так как в настоящее время в интегрированной среде разработки нет поддержки сброса.
Авторы: Джесси Хоуинг, Мартин Хиншелвуд, Майк Фуди и Вилли Шауб из ALM | DevOps Rangers. Подключитесь к ним здесь.
(c) Корпорация Майкрософт 2015 г. Все права защищены. Этот документ предоставляется как есть. Сведения и представления, выраженные в этом документе, включая URL-адрес и другие ссылки на веб-сайт Интернета, могут изменяться без уведомления. Вы берете на себя все риски, связанные с использованием сведений, приводящихся в данном документе.
Данный документ не предоставляет никаких юридических прав на какую-либо интеллектуальную собственность в любом из продуктов корпорации Майкрософт. Этот документ можно копировать и использовать только для внутренних справочных целей.