Совместное использование кода с Git

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

Поделитесь своим кодом с другими пользователями в Azure DevOps при использовании репозитория Git.

Необходимые компоненты

У вас должна быть организация и проект в Azure DevOps. При создании проекта Azure DevOps автоматически создает пустой репозиторий в Репозитории.

1. Установка средств командной строки Git

Установите один из следующих средств командной строки Git:

2. Клонирование репозитория на компьютер

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

  1. Выполните следующий шаг, применимый к вашему сценарию:

    • Если у вас еще нет кода, сначала создайте в проекте репозиторий Git, а затем выполните следующий шаг.
    • Если код находится в другом репозитории Git, например репозитории GitHub или другом экземпляре Репозитория Azure, импортируйте его в новый или существующий пустой репозиторий Git, а затем выполните следующий шаг.
    • Если код находится на локальном компьютере и еще не находится в системе управления версиями, создайте в проекте репозиторий Git или добавьте код в существующий репозиторий.
  2. В веб-браузере откройте командный проект для вашей организации и выберите "Файлы Репозитория>".

    Снимок экрана: проект с выделенными репозиториями и файлами.

  3. Нажмите кнопку Клонировать.

    Снимок экрана: выделенная кнопка клонирования в файлах репозиториев.

  4. Скопируйте URL-адрес.

    Снимок экрана: выделенный значок копирования ДЛЯ копирования URL-адреса.

  5. Откройте командное окно Git (Git Bash в Git для Windows). Перейдите в папку, в которой требуется код из репозитория, хранящегося на компьютере, и запустите git cloneпуть, скопированный из URL-адреса клонирования на предыдущем шаге. См. следующий пример.

    git clone https://FabrikamFiber01@dev.azure.com/FabrikamFiber01/FabrikamFiber01-01/_git/FabrikamFiber01-01
    

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

  6. Переключите каталог в клонированные репозитории.

    cd fabrikam-web
    

    Откройте это командное окно, чтобы работать в ветви.

3. Работа в ветви

Ветви Git изолируют изменения от других действий, выполняемых в проекте. Мы рекомендуем использовать рабочий процесс Git, который использует новую ветвь для каждой функции или исправления, над которыми вы работаете. В наших примерах используется ветвь. users/jamal/feature1

  1. Создайте ветвь с branch помощью команды.

    git branch users/jamal/feature1
    

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

    Если вы работаете с ранее клонированного репозитория, убедитесь, что вы проверили правильную ветвь (git checkout main) и что она обновлена (git pull origin main) перед созданием новой ветви.

  2. Используется checkout для переключения в ту ветвь.

    git checkout users/jamal/feature1
    

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

    Совет

    При создании ветви из командной строки ветвь основана на текущей извлеченной ветви. При клонировании репозитория извлекается ветвь по умолчанию (обычноmain). Так как вы клонировались, локальная копия main содержит последние изменения.

    git checkout main
    git pull origin main
    git branch users/jamal/feature1
    git checkout users/jamal/feature1
    

    Вы можете заменить первые три команды в предыдущем примере следующей командой, которая создает новую ветвь на основе последней main ветвиusers/jamal/feature1.

    git pull origin main:users/jamal/feature1
    

    Вернитесь в окно Git Bash, используемое в предыдущем разделе. Выполните следующие команды, чтобы создать и извлечь новую ветвь на основе основной ветви.

    git pull origin main:users/jamal/feature1
    git checkout feature1
    

4. Работа с кодом

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

  1. Перейдите к папке на компьютере, где клонировали репозиторий, откройте README.md файл в выбранном редакторе и внесите некоторые изменения. Затем сохраните и закройте файл.

  2. В командном окне Git перейдите в contoso-demo каталог, введя следующую команду:

    cd contoso-demo
    
  3. Зафиксируйте изменения, введя следующие команды в командном окне Git:

    git add .
    git commit -m "My first commit"
    

    Команда git add . выполняет все новые или измененные файлы и git commit -m создает фиксацию с указанным сообщением фиксации.

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

  4. Отправьте изменения в репозиторий Git на сервере. Введите следующую команду в командное окно Git:

    git push origin users/jamal/feature1
    

Теперь код предоставляется удаленный репозиторий в ветви с именем users/jamal/feature1. Чтобы объединить код из рабочей ветви в main ветвь, используйте запрос на вытягивание.

5. Объединение изменений с запросом на вытягивание

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

В следующем примере показаны основные шаги по созданию и выполнению запроса на вытягивание.

  1. Откройте командный проект для вашей организации в веб-браузере и выберите "Репозитории>файлов". Если вы сохранили браузер открытым после получения URL-адреса клона, вы можете просто вернуться к нему.

  2. Выберите " Создать запрос на вытягивание " в правом верхнем углу окна "Файлы ". Если вы только что не видите сообщение, как вы обновили пользователей или jamal/feature1, обновите браузер.

    Создание запроса на вытягивание

    Новые запросы на вытягивание настроены для объединения ветви в ветвь по умолчанию, которая в этом примере — main. Заголовок и описание предварительно заполнены сообщением о фиксации.

    Создать запрос на вытягивание

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

    Файлы, включенные в запрос на вытягивание, можно просмотреть в нижней части окна "Новый запрос на вытягивание".

    Файлы в запросе на вытягивание

  3. Нажмите кнопку создания.

    Просмотрите сведения о запросе на вытягивание на вкладке "Обзор ". Вы также можете просматривать измененные файлы, обновления и фиксации в запросе на вытягивание с других вкладок.

  4. Нажмите кнопку "Завершить" , чтобы начать процесс завершения запроса на вытягивание.

    Запрос на вытягивание

  5. Нажмите кнопку "Завершить слияние" , чтобы завершить запрос на вытягивание и объединить код в main ветвь.

    Полный запрос на вытягивание

    Примечание.

    В этом примере показаны основные шаги по созданию и выполнению запроса на вытягивание. Дополнительные сведения см. в статье "Создание, просмотр и управление запросами на вытягивание".

Изменения теперь объединяются в main ветвь, и ваша users/jamal/feature1 ветвь удаляется на удаленный репозиторий.

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

  1. Вернитесь на веб-портал и выберите "Журнал " на странице "Код ", чтобы просмотреть новую фиксацию.

    Снимок экрана: веб-портал с выделенным журналом

  2. Перейдите на вкладку "Файлы " и выберите файл README для просмотра изменений.

    Снимок экрана: README-файл

Очистка

Чтобы удалить локальную копию ветви, вернитесь в командную строку Git Bash и выполните следующую команду:

git checkout main
git pull origin main
git branch -d users/jamal/feature1

Это действие выполняет следующие задачи:

  • Команда git checkout main переключает вас на main ветвь.
  • Команда git pull origin main извлекает последнюю версию кода в главной ветви, включая изменения и тот факт, что users/jamal/feature1 был объединен.
  • Команда git branch -d users/jamal/feature1 удаляет локальную копию этой ветви.

Следующие шаги