Bitbucket для повышения качества кода. Четыре шага, чтобы начать работу
Прежде чем начать, вам понадобится аккаунт Bitbucket Cloud, чтобы повторять действия, описанные в этом обучающем руководстве. Из этого руководства вы узнаете о компонентах Bitbucket, которыми будете часто пользоваться, поэтому у вас также должна быть установлена система Git и вы должны быть знакомы с ее основными командами и принципами работы.
Не знаете, что такое Git? Не страшно, мы обо всем позаботились. Прочтите наши обучающие руководства для начинающих «Используйте Git правильно».
Теперь можно загрузить код в Bitbucket.
Шаг 1. Переместите свой код в Bitbucket
Репозитории (которые специалисты с любовью называют «репами») — это место, где код хранится в Bitbucket. Начать работу можно по-разному в зависимости от ваших потребностей.
Создание нового пустого репозитория
- Нажмите + на общей боковой панели, расположенной в левой части экрана, и выберите в разделе Create new (Создать) пункт Repository (Репозиторий).
- Присвойте репозиторию имя. Это важно! Имя репозитория включается в его URL-адрес.
- Выберите для параметра Include a README? (Добавить файл README?) значение Yes, with a template (Да, с помощью шаблона).
- Настройки остальных параметров можно не менять. Нажмите Create (Создать).
Импорт репозитория от другого поставщика Git
- Нажмите + на общей боковой панели, расположенной в левой части экрана, и выберите в разделе Import (Импорт) пункт Repository (Репозиторий).
-
Укажите URL для доступа к репозиторию.
-
Если для доступа к вашему репозиторию требуется авторизация, установите флажок Requires authorization (Требуется авторизация) и введите учетные данные для доступа.
-
Присвойте репозиторию имя. Это важно! Имя репозитория включается в его URL-адрес.
-
Настройки остальных параметров можно не менять. Нажмите Import repository (Импортировать репозиторий).
Шаг 2. Подготовьте локальную систему, чтобы сотрудничать с коллегами со всего мира
Теперь, когда у вас есть репозиторий в облаке, нужно подготовить локальную систему, с помощью которой вы будете писать или изменять код в Bitbucket. К этому моменту у вас должна быть установлена и настроена система Git. Если вы пропустили этот шаг, вернитесь и выполните необходимые действия. Напоминаем, что у нас есть для этого отдельное руководство!
Клонирование репозитория Bitbucket
Итак, вы создали (или импортировали) репозиторий. Прежде чем вы сможете принять участие в изменении кода в репозитории Bitbucket, вы должны клонировать этот репозиторий в свою локальную систему. Подробнее о клонировании в Git.
- Нажмите «+» на общей боковой панели, расположенной в левой части экрана, и выберите в разделе Get to work (Приступаем к работе) пункт Clone this repository (Клонировать этот репозиторий).
- Выберите в меню, расположенном в правом верхнем углу экрана, вариант HTTPS (если вы уже не настроили SSH-ключи).
- Скопируйте команду клонирования.
Из интерфейса командной строки
- Перейдите в каталог, в который вы хотите клонировать репозиторий.
cd <путь_к_каталогу>
- Вставьте команду, которую вы скопировали из Bitbucket (она будет выглядеть примерно так):
git clone https://username@bitbucket.org/teamsinspace/documentation-test.git
На вашем локальном диске появится новый подкаталог с тем же именем, что и клонированный репозиторий. Если вы клонировали пустой репозиторий, этот локальный каталог пока может быть пуст.
Изменение файла в Bitbucket в режиме онлайн
Подождите, у меня нет файлов в Bitbucket...
Вы пропустили необязательный шаг и не добавили файл README в репозиторий Bitbucket? Не переживайте! Если репозиторий пуст, перейдите в него и нажмите Create a README (Создать файл README). Теперь вы можете клонировать репозиторий, в котором есть файлы.
Извлечение (pull) обновлений из Bitbucket
Из интерфейса командной строки
- Перейдите в каталог, в который вы хотите клонировать репозиторий.
cd <путь_к_каталогу>
- Вставьте команду, которую вы скопировали из Bitbucket (она будет выглядеть примерно так):
git clone
Выполнив команду, вы загрузите все изменения, внесенные в эти файлы, в свою локальную систему.
Шаг 3. Выполняйте базовые операции с ветками с помощью Bitbucket
Благодаря ветвлению участники команды могут работать одновременно над разными участками кода, не изменяя исходную базу кода и не мешая работе других участников. Когда вы будете готовы выполнить слияние изменений, отправьте свою ветку в Bitbucket, чтобы ее можно было проверить посредством запроса pull.
Создавать ветки можно несколькими способами. Выберите тот, который лучше других отвечает потребностям вашей команды.
Создание ветки
- Находясь в репозитории, нажмите «+» на общей боковой панели и выберите в разделе Get to work (Приступаем к работе) пункт Create a branch (Создать ветку).
- В появившемся всплывающем окне выберите Type (Тип) (если вы используете модель ветвления), введите имя ветки в поле Branch name (Имя ветки) и нажмите Create (Создать).
Из интерфейса командной строки
- После создания ветки выберите ее и переключитесь на эту ветку в вашей локальной системе. Bitbucket автоматически отобразит необходимую команду, которая будет выглядеть примерно так:
git fetch && git checkout <имя ветки>
- Внесите изменения в локальной системе, затем добавьте изменения, сделайте коммит и отправьте изменения в ветку:
git add .
git commit -m "добавлено изменение в функциональную ветку"
git push origin <имя ветки>
- Перейдите на страницу Source (Исходный код) в своем репозитории. В раскрывающемся списке вы увидите главную ветку и ветку <имя ветки>
Из интерфейса командной строки, находясь в каталоге локального репозитория
- Создайте ветку с помощью команды Git branch.
git branch <имя ветки>
- Просмотрите список веток в репозитории. Вы увидите главную ветку по умолчанию и новую ветку, которую вы создали.
git branch
-
Переключитесь на эту ветку.
git checkout <имя ветки>
-
Отправьте новую ветку в Bitbucket.
git push --set-upstream origin <имя ветки>
Теперь перейдем в Bitbucket и посмотрим на нашу ветку.
-
Перейдите в репозиторий.
-
Нажмите Branches (Ветки).
Для этого у вас должен быть доступ к сервису Jira Software Cloud, который вы должны интегрировать с Bitbucket. Для этого нужны права администратора, но если вы хотите просто поэкспериментировать с интеграцией и посмотреть, как она работает, вы всегда можете оформить подписку на бесплатную пробную версию Jira Software Cloud.
Интеграцию этих двух продуктов можно выполнить сразу после настройки сайта Jira. Инструкции по интеграции приведены в статье Подключение Bitbucket Cloud к Jira Software Cloud.
Шаг 4. Проверьте изменения кода при помощи запроса pull
Когда изменения вашего кода переданы в Bitbucket, они должны быть проверены коллегой. Запросить проверку кода и в целом вести совместную работу в общей среде со своей командой проще и эффективнее всего посредством запросов pull.
Создание запроса pull
- В открытом репозитории нажмите «+» на общей боковой панели и выберите в разделе Get to work (Приступаем к работе) пункт Create a pull request (Создать запрос pull).
- Заполните остальные поля формы запроса pull:
- Source (Источник): репозиторий и ветка, в которой вы изменили код и теперь хотите выполнить слияние этих изменений.
- Destination (Назначение): репозиторий и ветка, в которую вы хотите слить изменения.
- Title and Description (Заголовок и описание): значения этих двух полей будут использоваться в уведомлениях, отправляемых по электронной почте. Заголовок также будет отображаться в списке запросов pull.
- Reviewers (Проверяющие): выберите проверяющих, которые будут оставлять полезные отзывы об изменениях и должны будут подтверждать изменения.
- Close branch (Закрыть ветку): установите этот флажок, если хотите, чтобы ветка автоматически закрылась после слияния запроса pull.
- Diff and Commits (Различия и коммиты): на этих вкладках можно просмотреть внесенные изменения (Diff) и включенные коммиты.
- Нажмите Create pull request (Создать запрос pull).
Этот запрос pull появится в списках запросов pull на боковой панели навигации вашего репозитория.
Проверка запроса pull
Если вас выбрали в качестве проверяющего, вы получите уведомление о том, что запрос pull ожидает вашей проверки. Кроме того, открытые запросы pull можно просмотреть на вкладке Pull requests (Запросы pull) на дашбоарде. Проверку кода в целях обеспечения качества можно выполнить разными способами — выбор за вами. Ниже описано несколько способов того, как можно поддерживать эффективную связь с коллегами, чтобы все понимали, что именно было изменено, и были согласны с изменением, подготовленным к слиянию.
Просмотр различий
Если просмотреть запрос pull, вы увидите различия (изменения) во всех файлах, измененных в запросе pull. Добавленные строки выделяются зеленым цветом, удаленные — красным. Также можно нажать на вкладке Commits (Коммиты) в верхней части запроса pull, чтобы просмотреть, какие коммиты включены. Это удобно при проверке больших запросов pull.
Отзывы и вопросы в комментариях
В Bitbucket можно оставлять комментарии ко всему запросу pull, отдельному файлу или отдельному участку кода в файле. Благодаря этому можно легко поместить отзыв в контекст или конкретизировать его. Комментарии можно сопровождать изображениями, ссылками, форматированным текстом. Каждый комментарий имеет собственный URL-адрес, чтобы им можно было быстро поделиться.
Подтверждение или отклонение запроса pull
Выполнив проверку изменений кода, вы должны сообщить автору запроса pull, готов ли запрос к слиянию. Нажмите кнопку Approve (Подтвердить), чтобы автор запроса получил уведомление о том, что вы считаете слияние изменений возможным. Если вы нажмете кнопку Decline (Отклонить), автор запроса получит противоположное по смыслу уведомление. Отклоненный запрос pull нельзя будет открыть снова. Чтобы выполнить слияние ветки, нужно будет открыть новый запрос pull.
Учтите, что отклонение запроса pull может плохо сказаться на моральном духе автора, поэтому к нему следует прибегать, только если изменения совсем не годятся или данная работа уже не требуется. Сохраняйте доброжелательность, проверяя чужую работу, и всегда стремитесь в первую очередь понять и уже потом — быть понятым.
Слияние запроса pull
После того как код прошел проверку и был подтвержден в рамках запроса pull, нажмите кнопку Merge (Слияние), чтобы выполнить слияние вашей ветки с основной. Изменения кода из исходной ветки будут полностью включены в целевую ветку.