Close

Узнайте о проверке кода в Bitbucket Cloud

Цель

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

Примечание. В следующем разделе учебного руководства приводятся инструкции по добавлению проверяющего (или участника команды) к запросу pull, чтобы вы могли совместно работать над кодом в Bitbucket Cloud. Если вы не сотрудничаете с членами команды или в данный момент не хотите добавлять проверяющих, можете перейти к следующему руководству, где рассматривается ветвление в Bitbucket Cloud.

Краткое описание основной задачи

До сих пор вы работали в репозиториях и над кодом в одиночку. А как быть, если вы хотите, чтобы кто-нибудь проверил ваш код и отправил отзыв? Вы сможете это сделать, добавив проверяющего к своему запросу pull, причем вне зависимости от того, находитесь ли вы с ним в одной комнате или в разных концах земного шара.

Время

15 минут

Аудитория

  • От вас потребуется опыт использования Bitbucket Cloud. Если у вас его нет, ознакомьтесь с одним из наших учебных руководств для новичков.
  • Для тех, кто предпочитает использовать Bitbucket Cloud и Git с графическим интерфейсом

О ветках и запросах pull

Если в команде присутствует несколько пользователей Bitbucket, вам будет нужно работать над собственным кодом отдельно от основной базы кода. Для этого используются ветки, представляющие собой независимое направление разработки в репозитории. Ветку можно рассматривать как комбинацию новых разделов — рабочего каталога, индекса и истории проекта. После создания ветки вы будете работать над кодом и отправлять его в эту ветку в качестве коммитов. Кроме того, вам придется извлекать обновления из Bitbucket для поддержания актуальности данных в ветке, а затем отправлять результаты работы обратно в Bitbucket.

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


Создание репозитория Git


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

1. Нажмите + на общей боковой панели и в разделе Create (Создать) выберите пункт Repository (Репозиторий).

2. Убедитесь, что созданная вами команда имеет статус владельца репозитория.

3. Введите произвольные имя проекта и имя репозитория. Если вы затрудняетесь с выбором, используйте варианты «Стартовый набор» и «Первые впечатления» соответственно.

4. В области Include a README? (Добавить файл README?) выберите один из вариантов Yes (Да).

5. В области Version control system (Система управления версиями) выберите тип репозитория, который нужно создать. Если вы затрудняетесь с выбором, оставьте эту настройку без изменений.

6. Нажмите Create repository (Создать репозиторий), и вы попадете на страницу Source (Исходный код) своего нового репозитория.

7. На странице Source (Исходный код) выберите > Add file (Добавить файл).

8. Присвойте файлу имя survey.html, затем скопируйте этот код и вставьте его в основную область текста.

Логотип Bitbucket
СМ. РЕШЕНИЕ

Изучите Git с помощью Bitbucket Cloud

Логотип Git
Связанные материалы

Узнайте о ветвлении с помощью Bitbucket Cloud

\<\!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <style media="screen" type="text/css">
 body {
 margin: auto;
 width: 700px;
 color: #FFFFFF;
 font-family: Arial, sans-serif;
 background-color: #172B4D;
 }
 body>h1 {
 margin: 50px;
 font-size: 50px;
 text-align: center;
 color: #0052CC;
 }
 </style>
</head>
<body>
 <h1>Team up in space</h1>
 <p>
 Welcome to the team! You've made it this far so we know that you've got the potential to do great things. Because you're going to be collaborating with other awesome people, anything you add needs to be code reviewed and approved. That's just how a team works! You should have already created a branch and checked it out locally. If you haven't, go back to the tutorial and do that now. We'll be here.
 </p>
 <p>
 Because you're on your own branch, you can go crazy. Spice up this file any way you like. Add more files to this repository if you see fit. If want to take it slow and are just here to learn about pull requests, you can use this opportunity to fill out our short questionaire.
 </p>
 <br>
 <p>
 <b>Question 1</b>: Have you used pull requests before?
 </p>
 <p>
 <b>Answer 1</b>: **** Your answer here **** </p>
 <p>
 <b>Question 2</b>: Why do you want to learn about code review?
 </p>
 <p>
 <b>Answer 2</b>: **** Your answer here **** </p>
 <p>
 <b>Question 3</b>: Who do you plan to work with on Bitbucket? </p>
 <p>
 <b>Answer 3</b>: **** Your answer here **** </p>
</body>
</html>

9. Нажмите Commit (Сделать коммит), затем повторно нажмите Commit в диалоговом окне.

Теперь репозиторий выглядит неплохо. При желании вы можете просмотреть доступные возможности.

Клонирование и внесение изменений в новую ветку


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

Если вы используете командную строку

Шаг 1. Клонируйте репозиторий в локальную систему

1. В репозитории нажмите кнопку Clone (Клонировать) в правом верхнем углу. В Bitbucket отобразится диалоговое окно Clone this repository (Клонировать репозиторий). По умолчанию в диалоговом окне клонирования выбран протокол HTTPS или SSH, в зависимости от ваших настроек. Поэтому изменять протокол по умолчанию не требуется.

Клонирование репозитория

2. Скопируйте команду клонирования.

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

$ cd ~/<path_to_directory>

4. Вставьте команду, скопированную из Bitbucket, например:

$ git clone https://breezy@bitbucket.org/powerstars/first-impressions.git

Cloning into 'first-impressions'...
Password for 'https://breezycloud@bitbucket.org': 
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.

Подробная информация о клонировании приведена в соответствующем видео:

Шаг 2. Создайте ветку и переместите ее в локальную среду

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

1. Нажмите Branches (Ветки) на левой панели навигации. Вы заметите, что у вас уже есть одна ветка — ваша главная ветка (main).

2. Нажмите Create a branch (Создать ветку) в правом верхнем углу.

3. После создания ветки ее нужно выбрать в локальной системе. В Bitbucket доступны команды извлечения и переключения. Их можно скопировать и вставить в командную строку, которая будет выглядеть примерно так:

$ git fetch && git checkout my-updates

Password for 'https://breezycloud@bitbucket.org': 
From https://bitbucket.org/planetbreezycloud/first-impressions
 * [new branch]      my-updates -> origin/my-updates
Branch 'my-updates' set up to track remote branch 'my-updates' from 'origin'.
Switched to a new branch 'my-updates'

Вы переключились на локальную версию новой ветки. Теперь вы можете работать с изолированным участком кода и затем опубликовать его.

Шаг 3. Внесите изменения в ветку

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

1. Откройте в текстовом редакторе файл survey.html (он может иметь другое имя).

2. Внесите нужные изменения, затем сохраните и закройте файл.

3. Если в окне терминала не выполнялось никаких действий, там будет отображаться каталог репозитория. Просмотрите статус репозитория с помощью команды git status. Вы заметите файл survey.html, куда были внесены изменения. Если вы добавили или изменили другие файлы, они также будут показаны.

$ git status
On branch my-updates
Your branch is up-to-date with 'origin/my-updates'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   survey.html
no changes added to commit (use "git add" and/or "git commit -a")

4. Добавьте изменения локально с помощью git add:

$ git add survey.html

5. Выполните локальный коммит изменений с помощью команды git commit -m "ваш комментарий к коммиту":

$ git commit -m "Answered questions"
[my-updates 7506040] Answered questions
 1 file changed, 3 insertions(+), 3 deletions(-)

6. Введите git push origin, чтобы отправить изменения в ветку Bitbucket, и укажите пароль для завершения операции.

$ git push origin my-updates

Password for 'https://breezycloud@bitbucket.org': 

Counting objects: 3, done.

Delta compression using up to 8 threads.

Compressing objects: 100% (3/3), done.

Writing objects: 100% (3/3), 350 bytes | 350.00 KiB/s, done.

Total 3 (delta 1), reused 0 (delta 0)

To https://bitbucket.org/planetbreezycloud/first-impressions.git

   454ccaf..7506040  my-updates -> my-updates

Branch main set up to track remote branch main from origin.

7. В Bitbucket перейдите на страницу Source (Исходный код) своего репозитория. В раскрывающемся списке будут две ветки. Коммиты, сделанные для ветки my-updates, также появятся в этой ветке.

Если вы используете Sourcetree

Шаг 1. Клонируйте репозиторий в локальную систему

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

1. В репозитории нажмите + на общей боковой панели и в разделе Get to work (Приступаем к работе) выберите пункт Clone this repository (Клонировать репозиторий).

Клонирование репозитория

2. Нажмите кнопку Clone in Sourcetree (Клонировать в Sourcetree).

3. В окне Clone New (Клонировать новый элемент) измените значение Destination Path (Путь назначения) на <путь_до_каталога_репозитория>/first-impressions/.

Клонирование ветки

4. Нажмите кнопку Clone (Клонировать).

Чтобы ознакомиться с процедурой, просмотрите раздел видео о клонировании репозитория:

Шаг 2. Создайте ветку и переместите ее в локальную среду

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

1. Нажмите Branches (Ветки) на левой панели навигации. Вы заметите, что у вас уже есть главная ветка (main).

2. Нажмите Create a branch (Создать ветку) в правом верхнем углу.

3. Введите имя ветки и нажмите Create (Создать). Если вы затрудняетесь с выбором имени, используйте, например, my-updates.

4. После создания ветки ее нужно выбрать в локальной системе. Для этого нажмите кнопку Check out in Sourcetree (Переключить в Sourcetree).

5. В диалоговом окне Checkout Existing (Переключение существующего элемента) в Sourcetree нажмите Checkout (Переключить).

Теперь ветка существует в Bitbucket и выбрана в локальной системе. Вы можете работать с изолированным участком кода и затем опубликовать его.

Шаг 3. Внесите изменения в ветку

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

1. В репозитории Sourcetree нажмите кнопку Show in Finder (Показать в Finder).

Средство Finder в Sourcetree

2. Откройте в текстовом редакторе файл survey.html (он может иметь другое имя).

3. Внесите нужные изменения, затем сохраните и закройте файл.

4. Откройте Sourcetree. Вы заметите, что в репозитории появились неподтвержденные изменения.

Неподтвержденная ветка

5. (Только для Git.) Добавьте файл в раздел проиндексированных файлов:

1. Выберите строку с неподтвержденными изменениями.

2. В списке Unstaged files (Неиндексированные файлы) установите флажок рядом с файлом survey.html (сделайте то же самое для других файлов, содержащих неподтвержденные изменения).

Подтверждение индексирования

3. В диалоговом окне Confirm Stage? (Подтвердить индексирование?) нажмите OK.

6. Нажмите кнопку Commit (Сделать коммит) в верхней части страницы, чтобы выполнить коммит файла.

7. Введите комментарий к коммиту, например «Отвечено», в соответствующей области.

8. Нажмите кнопку Commit (Сделать коммит) под областью комментария. После переключения в прежнее представление вы заметите, что файл добавлен в коммит, но не опубликован в репозитории Bitbucket.

9. Нажмите кнопку Push (Отправить) в Sourcetree, чтобы отправить изменения, выполненные в последнем коммите.

10. В открывшемся диалоговом окне нажмите OK, чтобы опубликовать ветку с коммитом в Bitbucket.

11. В Bitbucket перейдите на страницу Source (Исходный код) своего репозитория. В раскрывающемся списке будут две ветки. Коммиты, сделанные для ветки my-updates, также появятся в этой ветке.

Создание запроса pull для слияния изменений


Далее потребуется создать запрос pull, чтобы добавить проверяющих для проверки и утверждения вашего кода перед слиянием. Запрос pull не только инициирует проверку кода, но также позволяет просмотреть изменения по сравнению с исходным репозиторием. Кроме того, с помощью такого запроса можно без труда выполнить слияние готового кода.

Шаг 1. Создайте запрос pull

Для создания запроса pull необходима ветка — вы уже создали ее ранее.

1. В репозитории нажмите + на общей боковой панели. Затем нажмите Create a pull request (Создать запрос pull) в разделе Get to work (Приступаем к работе).
В Bitbucket появится форма запроса.

2. Заполните форму:

1. В поле Title (Название) автоматически отобразится ваш последний комментарий к коммиту.

2. При необходимости добавьте информацию в поле Description (Описание).

(Необязательное действие: добавление проверяющего). Если вы хотите, чтобы кто-нибудь из коллег проверил и (или) утвердил ваш код перед слиянием, добавьте его в поле Reviewers (Проверяющие). Как видите, в следующем примере запроса pull в качестве проверяющего добавлен пользователь Breezy Cloud.

Чтобы добавить проверяющего к запросу pull, вы должны сначала предоставить ему доступ к репозиторию, добавив в группу. Более полная информация и подробные инструкции приводятся в статье Предоставление доступа к репозиторию пользователям и группам. Примечание: вы всегда можете сначала создать запрос pull, а проверяющих добавить позже.

В результате форма будет выглядеть примерно так:

Проверка запроса pull

3. Нажмите Create pull request (Создать запрос pull).

Шаг 2. Выполните слияние запроса pull

Подождите! Возможно, вы заметили кнопку Merge (Слияние) в верхней части страницы. Перед тем как ее нажать, необходимо дождаться утверждения изменений. Ваши коллеги получат уведомление по электронной почте, а также увидят запрос pull в разделе Pull requests to review (Запросы pull, ожидающие проверки) дашбоарда Your work (Ваша работа).

Дашбоард Your work (Ваша работа)

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

Когда коллега утвердит ваш запрос pull, вы получите уведомление по электронной почте. После получения всех необходимых утверждений (в данном случае нужно лишь одно) можно выполнить слияние. В разделе запроса pull нажмите Merge (Слияние). Готово! Чтобы увидеть, как выглядит ваша ветка после слияния с основной веткой, нажмите Commits (Коммиты). Это действие откроет дерево коммитов.

Коммиты
Поделитесь этой статьей

Рекомендуемые статьи

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

Люди сотрудничают друг с другом, используя стену со множеством инструментов

Блог Bitbucket

Рисунок: DevOps

Образовательные программы DevOps

Демонстрация функций в демо-зале с участием экспертов Atlassian

Как инструмент Bitbucket Cloud работает с Atlassian Open DevOps

Подпишитесь на информационную рассылку по DevOps

Thank you for signing up