Git и bitbucket как пользоваться
Перейти к содержимому

Git и bitbucket как пользоваться

  • автор:

GIT и BitBucket: Командная разработка кода

Современная командная работа в среде программирования невозможна без системы управления версиями кода. Проект, над которым одновременно трудятся больше 5 разработчиков, без подобных программ был бы просто невозможен. На этой странице будет рассмотрен великолепный инструмент используемый разработчиками — GIT. Здесь будет рассказано о командах GIT, о том, как использовать с BitBucket.

Интерфейс BitBacket изменился после написания статьи. Смотрите как работать с BitBucket в новой версии в уроке курса Linux/GIT.

Как управлять различными версиями кода

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

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

Теперь код пишет два человека. С этой целью через FTP клиент вносятся изменения в программный код сайта, расположенного на тестовом хостинге. Это может вас устраивать и продолжаться долго. Пока в вашей команде не появится третий участник.

В случае необходимости работы над одним и тем же файлом, одному программисту придётся ждать, пока свою работу не закончит другой. Если не соблюдать очередность и работать над текстом одновременно, рано или поздно кто-то затрет изменения, уже внесённые в файл, но не сохранённые. Такая работа становится совсем неэффективной, когда в группе больше чем 3 человека.

Система управления версиями кода поможет исправить ситуацию

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

Рассмотрим работу систем управления версиями кода на примере программы GIT.

Возможности системы GIT.

Скачайте саму программу по этой ссылке:

Перед скачиванием необходимо выбрать версию, которая подходит под вашу операционную систему. Наиболее распространенной является Windows. На этом примере мы и рассмотрим процесс установки GIT.

После загрузки программы, кликните мышкой по установочному файлу exe, произведите его запуск, далее нажмите next. Настройки лучше оставить по умолчанию.

При правильном соблюдении последовательности действий, у вас будут установлены две программы: git Bash и еще Git GUI. Стартовые ярлыки программ находятся в папках установки.

Работа с git

Что такое репозитарий git и как его создать.

Репозиторий git выполняет функции хранилища кода. В нем находятся служебные файлы git.

Для создания GIT репозитория, необходимо запустить программу git Bash, которую вы уже установили.

После пуска программы, можно наблюдать такой результат:

Найдите каталог проекта. Там и будет создаваться репозиторий GIT.

Вот пример возможного пути к каталогу сайта:

Для осуществления перехода между папками дается команда cd.

Наберите в командной строке:

попав в каталог проекта, запускаем git репозиторий.

С этой целью введите команду:

При правильном выполнении действий появится строка:

Initialized empty Git repository in c:/xampp/htdocs/fructcode/.git/

Она и означает успешное создание репозитария GIT.

В корневой папке каталога проекта, можно увидеть появление новой директории каталога git.

Добавление в репозиторий GIT файлов составляющих проект

После создания репозитария необходимо выполнение команды:

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

При использовании команды git add * происходит загрузка всех файлов проекта. Далее будут рассмотрены усложненные настройки этой программы.

Команда GIT COMMIT

Поместив файловые данные в репозиторий, переходим к созданию Commit.

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

Вы можете увидеть такое сообщение:

Fix bug No342 in header

Это сообщение обозначает, что нужно задать имя пользователя и email пользователя GIT.

Вначале задается глобальное имя пользователя, а также email пользователя GIT. Затем идет сам Commit.

Команды, служащие в этих целях:

git config —global user.email [email protected] – команда задающая значение email пользователя.

git config —global user.name «your name» — команда задающая значение имени пользователя.

Создадим первый commit.

Здесь применяется команда:

git commit -m «init project»

При верном выполнении действий должны появиться следующие строки:

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

Команда GIT PUSH

Итак, репозиторий вами подготовлен. На следующем этапе решается задача внесения изменений в виртуальный репозиторий BitBucket, созданный вами ранее. Изменения вносятся при помощи команды git push.

Далее нужно войти в свой аккаунт BitBucket. Выберете ранее созданный репозиторий. Там вы найдете адрес репозитория устанавливаемого на удаленный сервер. Его можно увидеть вверху справа на панели управления программой.

Скопировав адрес, запустите команду:

git remote add origin https://[email protected]/YOURUSER/YOURREP.git

Получив запрос от репозитория bitbucket, далее нужно ввести пароль.

Пройдя в личный кабинет BitBucket, в коммитах можно увидеть свой коммит:

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

Итог

В результате урока вы поняли принцип создания GIT репозитория, познакомились с рядом простых команд. Дальше вы можете познакомиться с командой git pull и научиться загружать изменения из репозитория на сайт, установленный на локальном сервере.
Научитесь профессионально работать с контролем версий кода GIT по цене чашки кофе.

Поделитесь в социальных сетях

Знакомство с интерфейсом Bitbucket

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

Хотите начать работу с Bitbucket Server? Перейдите по ссылке.

Давайте теперь познакомимся с пользовательским интерфейсом Bitbucket и поговорим о том, что нужно, чтобы начать работу.

Ваша работа

На дашбоарде Your work (Ваша работа) отображаются запросы pull и репозитории, имеющие к вам отношение.

Ваша работа

  • На дашбоарде Your work (Ваша работа) отображаются открытые запросы pull, проверяющим которых вы являетесь, открытые запросы pull, созданные вами, и список репозиториев, к которым вы имеете доступ.

Репозитории

В окне Repositories (Репозитории) отображается список всех репозиториев, к которым вам предоставлен доступ.

Проекты Bitbucket

  • По умолчанию список отсортирован по дате изменения, поэтому вверху будет располагаться репозиторий, который был изменен последним. Можно также выполнить поиск репозитория по имени или отфильтровать список по названию проекта или имени владельца репозитория.
  • Для просмотра только тех репозиториев, которые вы отслеживаете, выберите фильтр Watching (Отслеживание).

Проекты

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

Проекты Bitbucket

Запросы pull

Проверка кода является важным этапом в жизненном цикле разработки программного обеспечения. Благодаря ей вы будете уверенно поставлять качественный код. В Bitbucket проверка кода осуществляется через запросы pull. В окне Pull requests (Запросы pull) вы можете быстро найти все, что требует внимания.

Запросы pull в Bitbucket

Выбрать, какие запросы pull будут отображаться в списке, можно с помощью кнопок быстрой фильтрации:

  • Reviewing (Проверка) — запросы pull, для которых вы назначены проверяющим
  • Watching (Отслеживание) — запросы pull, которые вы отслеживаете
  • Mine (Мои) — запросы pull, которые создали вы
  • Teams (Команды) — запросы pull, которые создала ваша команда

Неполадки

Когда вы добавляете репозиторий в Bitbucket Cloud, вы также получаете средство отслеживания задач. Оно позволяет отслеживать запросы на новые функции, сообщения об ошибках и прочие задачи вашего проекта.

Средство отслеживания задач

Ваши настройки Bitbucket

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

  • Security settings (Настройки безопасности) — SSH-ключи и двухфакторная аутентификация
  • Notifications settings (Настройки уведомлений)
  • Apps and integration (Приложения и интеграции) — поиск и установка приложений из магазина Bitbucket, а также управление ими

Настройки аккаунта Bitbucket

Чтобы открыть настройки Bitbucket, нажмите на своем аватаре в левом нижнем углу и выберите Bitbucket settings (Настройки Bitbucket)

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

Изучение основ Git с помощью этого тематического обучающего руководства.

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

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

  • git clone, git config, git add, git status, git commit, git push, git pull, git branch, git checkout и git merge
Время
Аудитория

Те, кто только начинает работу с Git и Bitbucket Cloud

Обязательные условия

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

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

Несколько интересных фактов о репозиториях

  • Независимо от того, работаете ли вы с одним или несколькими файлами, вы получаете доступ ко всем файлам в локальном репозитории.
  • Вы можете просматривать публичные репозитории, не имея аккаунта Bitbucket, если у вас есть URL-адреса этих репозиториев.
  • Каждый репозиторий принадлежит аккаунту пользователя или команде. В первом случае владельцем репозитория является пользователь, а во втором — команда.
  • Удалить репозиторий может только его владелец. Если репозиторий принадлежит команде, его может удалить администратор.
  • Проект программного кода может состоять из нескольких репозиториев для нескольких аккаунтов или одного репозитория, принадлежащего одному аккаунту.
  • Размер репозитория ограничен 2 ГБ, однако рекомендуется использовать репозитории размером не более 1 ГБ.

Логотип Git

Связанные материалы
Команды Git
СМ. РЕШЕНИЕ
Настройка репозитория

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

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

Создать репозиторий можно следующим образом:

1. В Bitbucket нажмите значок + на общей боковой панели и выберите Repository (Репозиторий).

Выбор репозитория на боковой панели навигации Bitbucket

В Bitbucket отобразится страница Create a new repository (Создание нового репозитория). Внимательно изучите содержимое этого диалогового окна. Все настройки, которые вы укажете на этой странице, кроме пункта Repository type (Тип репозитория), потом можно будет изменить.

Окно создания новой конфигурации репозитория в Bitbucket

2. В поле Name (Имя) введите BitbucketStationLocations. Bitbucket использует значение поля Name для создания URL-адреса репозитория. Например, если у пользователя the_best есть репозиторий с именем awesome_repo , URL-адрес этого репозитория будет выглядеть так: https://bitbucket.org/the_best/awesome_repo .

3. Access level (Уровень доступа): установите флажок в поле This is a private repository (Это частный репозиторий). Частный репозиторий будет виден только вам и тем, кому вы предоставите доступ. Если этот флажок не установлен, любой пользователь сможет увидеть ваш репозиторий.

4. В поле Repository type (Тип репозитория) выберите вариант Git. Помните, что после нажатия кнопки Create repository (Создать репозиторий) вы уже не сможете изменить тип репозитория.

5. Нажмите Create repository (Создать репозиторий). В Bitbucket будет создан репозиторий, после чего откроется страница Overview (Обзор).

Шаг 2. Изучите новый репозиторий

Внимательно изучите созданный репозиторий. Вы должны оказаться на странице Overview (Обзор) репозитория:

Нажмите + на общей боковой панели, чтобы увидеть стандартные действия для репозиториев. Нажимайте элементы на боковой панели навигации, чтобы узнать, что за ними скрывается, в том числе Settings (Настройки), где можно изменить сведения о репозитории и другие параметры. Чтобы просмотреть список горячих клавиш для перехода к этим элементам, нажмите ? на клавиатуре.

Если вы нажмете Commits (Коммиты) на боковой панели, то обнаружите, что коммитов нет, потому что вы еще не создали содержимое репозитория. Ваш репозиторий является частным, а поскольку вы не отправляли никому приглашений для доступа к нему, то единственный человек, который может создавать и редактировать содержимое репозитория, — это вы, его владелец.

Копирование репозитория Git и добавление файлов

У вас есть место для хранения файлов космических станций и обмена ими. Теперь нужно научиться обращаться к нему из локальной системы. Для этого нужно копировать репозиторий Bitbucket в локальную систему. В Git копирование репозитория называется «клонированием». При клонировании репозитория создается соединение между сервером Bitbucket (обозначается в Git термином origin) и локальной системой.

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

С рабочего стола откройте браузер и окно терминала. В окне терминала проделайте следующее.

1. Перейдите в домашний каталог (~).

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

2. Создайте каталог для размещения своих репозиториев.

 $ mkdir repos

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

 $ cd ~/repos

4. Из Bitbucket перейдите в репозиторий BitbucketStationLocations.

5. Нажмите значок «+» на общей боковой панели и выберите Clone this repository (Клонировать репозиторий).

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

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

7. Вставьте команду, скопированную из Bitbucket, в окно терминала и нажмите Return.

8. В ответ на запрос терминала введите свой пароль Bitbucket. Если вы создали аккаунт через Google, используйте пароль для этого аккаунта.

    Если возникла ошибка пароля Windows:

      В некоторых версиях ОС Microsoft Windows и Git может возникнуть ошибка, как в следующем примере.

    $ git clone

    https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git

    Cloning into 'bitbucketspacestation'.

    fatal: could not read

    Password for 'https://emmap1@bitbucket.org': No such file or directory
    • Если вы столкнулись с такой ошибкой, введите следующую команду:
     $ git config --global core.askpass
    • Затем вернитесь к шагу 4 и повторите процедуру клонирования. Теперь пароль должен запросить агент Bash. Вам придется ввести его только один раз.

    В этот момент окно терминала должно выглядеть примерно так:

    $ cd ~/repos

    $ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git
    Cloning into 'bitbucketstationlocations'.
    Password
    warning: You appear to have cloned an empty repository.
    • Вам известно, что ваш репозиторий пуст? Если помните, вы еще не добавили в него файлы исходного кода.

    9. Выведите список содержимого в каталоге репозиториев. Вы заметите в нем каталог bitbucketstationlocations .

    Поздравляем! Клонирование репозитория в локальную систему выполнено.

    Шаг 2. Добавьте файл в локальный репозиторий и поместите его в Bitbucket

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

    1. В окне терминала перейдите на верхний уровень локального репозитория.

     $ cd ~/repos/bitbucketstationlocations/

    2. Чтобы создать новый файл с заданным текстом, введите в окне терминала следующую строку.

    $ echo "Earth's Moon" >> locations.txt

    Если на выходе командной строки ничего нет, значит, файл создан правильно!

    3. Получите информацию о статусе локального репозитория. О продвижении проекта по сравнению с репозиторием Bitbucket можно узнать с помощью команды git status .

    На этом этапе Git знает, что вы создали новый файл. Вы увидите что-то подобное:

    $ git status 
    On branch main
    Initial commit
    Untracked files:
    (use "git add . " to include in what will be committed)
    locations.txt
    nothing added to commit but untracked files present (use "git add" to track)

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

    4. Чтобы в Git осуществлялось отслеживание нового файла locations.txt , введите команду git add . Если команда git add введена правильно, на ее выходе не будет ничего, как и при создании файла.

    $ git add locations.txt

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

    5. Проверьте статус файла.

     $ git status 
    On branch main
    Initial commit
    Changes to be committed:
    (use "git rm --cached . " to unstage)
    new file: locations.txt

    Вы заметите, что новый файл добавлен (проиндексирован), и сможете сделать коммит, когда будете готовы. Команда git status показывает состояние рабочего каталога и проиндексированного снимка.

    6. Введите команду git commit с комментарием к коммиту, как показано в следующей строке. Параметр -m указывает, что далее следует комментарий к коммиту.

    $ git commit -m 'Initial commit' 
    [main (root-commit) fedc3d3] Initial commit
    1 file changed, 1 insertion(+)
    create mode 100644 locations.txt

    Команда git commit выполняет коммит проиндексированного снимка состояния в историю проекта. Эта процедура в сочетании с командой git add определяет классический рабочий процесс для всех пользователей Git.

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

    • Подробнее о Git и удаленных репозиториях
      • Способность Git обмениваться данными с удаленными репозиториями (в нашем случае — с Bitbucket) является основой любого процесса совместной работы в Git.
      • Модель совместной работы в Git предполагает, что каждый разработчик использует собственную копию репозитория со своей локальной историей и структурой веток. Обычно пользователи делятся не отдельными наборами изменений, а сериями коммитов. Вместо того чтобы выполнять коммит одного набора изменений из рабочей копии в центральный репозиторий, Git позволяет передавать между репозиториями целые ветки.
      • Вы можете управлять подключениями к другим репозиториям и публиковать локальную историю, отправляя ветки в другие репозитории. Вы можете видеть результаты работы других участников, извлекая ветки в локальный репозиторий.

      7. Вернитесь в окно локального терминала и отправьте в Bitbucket изменения, для которых был сделан коммит, с помощью команды git push origin main . Эта команда указывает, что вы отправляете изменения в ветку main репозитория origin (на сервере Bitbucket).

      В ответ вы должны получить что-то подобное:

       $ git push origin main 
      Counting objects: 3, done.
      Writing objects: 100% (3/3), 253 bytes | 0 bytes/s, done.
      Total 3 (delta 0), reused 0 (delta 0) To https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git
      * [new branch] main -> main
      Branch main set up to track remote branch main from origin.

      Ваши коммиты переданы в удаленный репозиторий (origin).

      8. Перейдите в репозиторий BitbucketStationLocations в Bitbucket.

      9. Нажав Commits (Коммиты) на боковой панели, вы заметите в своем репозитории единственный коммит. Bitbucket объединяет все выполненные вами действия в один коммит и отображает его. Обратите внимание, что в столбце Author (Автор) указано значение, которое использовалось при настройке глобального файла конфигурации Git ( ~/.gitconfig) .
      Нажав Source (Исходный код) на боковой панели, вы заметите, что в репозитории находится единственный файл исходного кода locations.txt , который вы только что добавили.

      Помните, как выглядел репозиторий сразу после создания? Сейчас он должен выглядеть немного иначе.

      Получение изменений из репозитория Git в Bitbucket Cloud

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

      Шаг 1. Создайте файл в Bitbucket

      Чтобы добавить новый файл с данными о местоположении, выполните следующие действия.

      1. Нажмите Source (Исходный код) в репозитории BitbucketStationLocations, чтобы открыть каталог с исходным кодом. Обратите внимание, что только один файл, locations.txt , находится в каталоге.

      Экран BitbucketStationSupplies в Bitbucket

      A. Страница Source (Исходный код): нажмите ссылку, чтобы открыть эту страницу.
      B. Выбор ветки: выберите ветку, которую хотите просмотреть.
      C. Кнопка «Дополнительные действия»: нажмите, чтобы открыть меню с дополнительными вариантами действий, например Add file (Добавить файл).
      D. Область файлов исходного кода: просмотр каталога файлов в Bitbucket.

      2. На странице Source (Исходный код) нажмите кнопку «Дополнительные действия» в правом верхнем углу и выберите в меню Add file (Добавить файл). Кнопка «Дополнительные действия» появляется только после того, как в репозиторий был добавлен хотя бы один файл.

      Откроется страница создания нового файла, как показано на следующем изображении.

      Создание файла в Bitbucket

      A. Ветка для нового файла: измените, если нужно добавить файл в другую ветку.
      B. Область нового файла: добавьте сюда содержимое нового файла.

      3. В поле filename (Имя файла) введите stationlocations .

      4. В списке Syntax mode (Режим синтаксиса) выберите HTML.

      5. В текстовое поле добавьте следующий HTML-код:

       

      Bitbucket has the following space stations:



      Earth's Moon

      Headquarters

      6. Нажмите Commit (Сделать коммит). Появится поле Commit message (Комментарий к коммиту) с сообщением stationlocations created online with Bitbucket (Файл stationlocations создан онлайн в Bitbucket).

      7. Нажмите Commit (Сделать коммит) под полем с комментарием.

      Теперь у вас в Bitbucket есть новый файл. Откроется страница со сведениями о коммите, где можно увидеть выполненное изменение.

      Страница со сведениями о коммите в Bitbucket

      Чтобы просмотреть список сделанных на данный момент коммитов, нажмите Commits (Коммиты) на боковой панели.

      Шаг 2. Получите изменения из удаленного репозитория

      Теперь нужно скопировать этот новый файл в локальный репозиторий. Это довольная простая процедура, по сути обратная операции push, с помощью которой вы поместили файл locations.txt в Bitbucket.

      Скопировать файл в локальный репозиторий можно следующим образом:

      1. Откройте окно терминала и перейдите на верхний уровень локального репозитория.

       $ cd ~/repos/bitbucketstationlocations/

      2. Введите команду git pull —all , чтобы извлечь все изменения из Bitbucket. (В более сложных рабочих процессах с ветвлением извлечение и слияние всех изменений может быть неприменимо.) В ответ на запрос введите свой пароль Bitbucket. Окно терминала должно выглядеть примерно так:

      $ git pull --all 
      Fetching origin
      remote: Counting objects: 3, done.
      remote: Compressing objects: 100% (3/3), done.
      remote: Total 3 (delta 0), reused 0 (delta 0)
      Unpacking objects: 100% (3/3), done.
      From https://bitbucket.org/emmap1/bitbucketstationlocations
      fe5a280..fcbeeb0 main -> origin/main
      Updating fe5a280..fcbeeb0
      Fast-forward
      stationlocations | 5 ++++++++++++++
      1 file changed, 5 insertions(+)
      create mode 100644 stationlocations

      Команда git pull выполняет слияние файла из удаленного репозитория (Bitbucket) в локальный репозиторий одной командой.

      3. Перейдите в папку репозитория в локальной системе. Там будет находиться только что добавленный файл.

      Фантастика! Добавив два файла о местоположении космических станций, вы выполнили классический рабочий процесс в Git (клонирование, добавление, коммит, отправку и получение) между Bitbucket и локальной системой.

      Использование команды git branch для слияния файла

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

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

      Ветка представляет собой независимое направление разработки в репозитории. Ее можно рассматривать как новое сочетание рабочего каталога, раздела проиндексированных файлов и истории проекта. Создание новых веток автоматически начинается с главной ветки (main). В качестве наглядного примера на этой схеме показаны главная ветка и ветка с обновлением для исправления багов.

      Шаг 1. Создание ветки и внесение изменения

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

      Важно понимать, что ветки — это просто указатели на коммиты. Когда вы создаете ветку, Git создает только новый указатель, а не новый набор файлов или папок. Перед началом работы ваш репозиторий выглядит так:

      Создать ветку можно следующим образом:

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

      cd ~/repos/bitbucketstationlocations/

      2. В окне терминала создайте ветку.

      $ git branch future-plans

      Эта команда создает ветку, но не выполняет переключение на эту ветку, поэтому репозиторий выглядит примерно так:

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

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

      $ git checkout future-plans 
      Switched to branch 'future-plans'

      Команда git checkout часто используется вместе с git branch . Поскольку ветка создается для работы над чем-то новым, после каждого создания новой ветки (командой git branch ) требуется переключиться на эту ветку (командой git checkout ), чтобы начать ее использовать. Когда вы переключитесь на новую ветку, рабочий процесс Git будет выглядеть примерно так:

      4. Найдите в локальной системе папку bitbucketstationlocations и откройте ее. Вы заметите, что в результате создания новой ветки в каталоге не появилось никаких дополнительных файлов или папок.

      5. Откройте файл stationlocations в текстовом редакторе.

      6. Измените файл, добавив в него местоположение еще одной станции:

      Bitbucket has the following space stations:



      Earth's Moon

      Headquarters



      Mars

      Recreation Department

      7. Сохраните и закройте файл.

      8. Введите в окне терминала команду git status . У вас будет нечто подобное:

      $ git status 
      On branch future-plans
      Changes not staged for commit:
      (use "git add . " to update what will be committed)
      (use "git checkout -- . " to discard changes in working directory)
      modified: stationlocations
      no changes added to commit (use "git add" and/or "git commit -a")

      Обратили внимание на строку On branch future-plans ? Если бы вы ввели команду git status раньше, то вместо этой строки увидели бы строку branch main , потому что тогда у вас была только одна ветка — main . Прежде чем индексировать изменение или выполнять его коммит, всегда проверяйте эту строку, чтобы убедиться, что выбрана именно та ветка, в которую вы хотите добавить изменение.

      9. Проиндексируйте файл.

      $ git add stationlocations

      10. В окне терминала введите команду git commit , как показано ниже:

      $ git commit stationlocations -m 'making a change in a branch' 
      [future-plans e3b7732] making a change in a branch
      1 file changed, 4 insertions(+)

      После этого последнего коммита репозиторий будет выглядеть примерно так:

      Пора выполнить слияние изменения с веткой main .

      Шаг 2. Merge для ветки: ускоренное слияние

      Число ваших космических станций растет. Пришло время для церемонии открытия станции на Марсе. Теперь, когда ваши планы на будущее начали воплощаться в жизнь, можно выполнить слияние ветки future-plans с веткой main в локальной системе.

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

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

      Ускоренное слияние можно выполнить следующим образом:

      1. В окне терминала перейдите на верхний уровень локального репозитория.

       $ cd ~/repos/bitbucketstationlocations/

      2. Введите команду git status , чтобы убедиться, что для всех изменений сделаны коммиты, и узнать, какая ветка выбрана.

      $ git status 
      On branch future-plans
      nothing to commit, working directory clean

      3. Переключитесь на ветку main .

      $ git checkout main 
      Switched to branch 'main'
      Your branch is up-to-date with 'origin/main'.

      4. Выполните слияние изменений из ветки future-plans с веткой main . Это будет выглядеть примерно так:

      $ git merge future-plans 
      Updating fcbeeb0..e3b7732
      Fast-forward
      stationlocations | 4 ++++
      1 file changed, 4 insertions(+)

      По сути, вы переместили указатель ветки main вперед, к текущему указателю HEAD, и репозиторий выглядит как после ускоренного слияния, описанного выше.

      5. Поскольку вы больше не планируете использовать ветку future-plans , ее можно удалить.

      $ git branch -d future-plans 
      Deleted branch future-plans (was e3b7732).

      После удаления ветки future-plans вы сможете получить к ней доступ из ветки main через идентификатор коммита. Если, например, вы хотите отменить изменения, добавленные из ветки future-plans , воспользуйтесь полученным идентификатором коммита для возврата к этой ветке.

      6. Введите команду git status , чтобы увидеть результаты слияния. Они показывают, что локальный репозиторий опережает удаленный на один коммит. Это будет выглядеть примерно так:

      $ git status 
      On branch main
      Your branch is ahead of 'origin/main' by 1 commit.
      (use "git push" to publish your local commits)
      nothing to commit, working directory clean

      Вот что вы сделали на данный момент:

      • Создали ветку и переключились на нее
      • Внесли изменение в новую ветку
      • Сделали коммит изменения в новой ветке
      • Интегрировали изменение в основную ветку
      • Удалили ветку, ставшую ненужной

      Теперь нужно поместить всю эту работу в Bitbucket, в удаленный репозиторий.

      Шаг 3. Отправьте изменения в Bitbucket

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

      На схеме показано, что происходит, когда локальный репозиторий содержит изменения, которых нет в центральном репозитории, и вы отправляете эти изменения в Bitbucket.

      Вот как можно отправить изменение в удаленный репозиторий:

      1. Находясь в каталоге репозитория, введите в окне терминала команду git push origin main , чтобы отправить изменения. Результат будет выглядеть примерно так:

      $ git push origin main
      Counting objects: 3, done.
      Delta compression using up to 8 threads.
      Compressing objects: 100% (3/3), done.
      Writing objects: 100% (3/3), 401 bytes | 0 bytes/s, done.
      Total 3 (delta 0), reused 0 (delta 0)
      To https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git
      fcbeeb0..e3b7732 main -> main

      2. Перейдите на страницу Overview (Обзор) своего репозитория Bitbucket. В ленте Recent Activity (Недавняя активность) будет отображаться операция push.

      3. Нажмите Commits (Коммиты). Вы заметите коммит, сделанный в локальной системе. Обратите внимание: изменение имеет тот же идентификатор коммита, что и в локальной системе.

      Лента недавних коммитов в Bitbucket

      Также видно, что линия слева от списка коммитов является прямой и не имеет веток. Это связано с тем, что ветка future-plans никогда не взаимодействовала с удаленным репозиторием. Туда передавалось только созданное изменение после коммита.

      4. Нажмите Branches (Ветки) и обратите внимание, что на этой странице также нет записи об этой ветке.

      5. Нажмите Source (Исходный код), затем выберите файл stationlocations . Вы заметите, что последнее изменение файла имеет тот же идентификатор коммита, что и отправленное.

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

      Список истории файла в Bitbucket

      Готово!

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

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

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

      Теперь можно загрузить код в Bitbucket.

      Шаг 1. Переместите свой код в Bitbucket

      Репозитории (которые специалисты с любовью называют «репами») — это место, где код хранится в Bitbucket. Начать работу можно по-разному в зависимости от ваших потребностей.

      • С чистого листа
      • При помощи другого поставщика

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

      1. Нажмите + на общей боковой панели, расположенной в левой части экрана, и выберите в разделе Create new (Создать) пункт Repository (Репозиторий).
      2. Присвойте репозиторию имя. Это важно! Имя репозитория включается в его URL-адрес.
      3. Выберите для параметра Include a README? (Добавить файл README?) значение Yes, with a template (Да, с помощью шаблона).
      4. Настройки остальных параметров можно не менять. Нажмите Create (Создать).

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

      Импорт репозитория от другого поставщика Git

      1. Нажмите + на общей боковой панели, расположенной в левой части экрана, и выберите в разделе Import (Импорт) пункт Repository (Репозиторий).
      2. Укажите URL для доступа к репозиторию.
      3. Если для доступа к вашему репозиторию требуется авторизация, установите флажок Requires authorization (Требуется авторизация) и введите учетные данные для доступа.
      4. Присвойте репозиторию имя. Это важно! Имя репозитория включается в его URL-адрес.
      5. Настройки остальных параметров можно не менять. Нажмите Import repository (Импортировать репозиторий).

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

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

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

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

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

      1. Нажмите «+» на общей боковой панели, расположенной в левой части экрана, и выберите в разделе Get to work (Приступаем к работе) пункт Clone this repository (Клонировать этот репозиторий).
      2. Выберите в меню, расположенном в правом верхнем углу экрана, вариант HTTPS (если вы уже не настроили SSH-ключи).
      3. Скопируйте команду клонирования.

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

      Из интерфейса командной строки

      1. Перейдите в каталог, в который вы хотите клонировать репозиторий. cd
      1. Вставьте команду, которую вы скопировали из Bitbucket (она будет выглядеть примерно так): git clone https://username@bitbucket.org/teamsinspace/documentation-test.git

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

      Изменение файла в Bitbucket в режиме онлайн

      Подождите, у меня нет файлов в Bitbucket.

      Вы пропустили необязательный шаг и не добавили файл README в репозиторий Bitbucket? Не переживайте! Если репозиторий пуст, перейдите в него и нажмите Create a README (Создать файл README). Теперь вы можете клонировать репозиторий, в котором есть файлы.

      Извлечение (pull) обновлений из Bitbucket

      Из интерфейса командной строки

      1. Перейдите в каталог, в который вы хотите клонировать репозиторий. cd
      1. Вставьте команду, которую вы скопировали из Bitbucket (она будет выглядеть примерно так): git clone

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

      Шаг 3. Выполняйте базовые операции с ветками с помощью Bitbucket

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

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

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

      • Из Bitbucket (самый простой способ)
      • Из интерфейса командной строки
      • Из Jira
      1. Находясь в репозитории, нажмите «+» на общей боковой панели и выберите в разделе Get to work (Приступаем к работе) пункт Create a branch (Создать ветку).
      2. В появившемся всплывающем окне выберите Type (Тип) (если вы используете модель ветвления), введите имя ветки в поле Branch name (Имя ветки) и нажмите Create (Создать).

      Создайте ветку

      Из интерфейса командной строки

      1. После создания ветки выберите ее и переключитесь на эту ветку в вашей локальной системе. Bitbucket автоматически отобразит необходимую команду, которая будет выглядеть примерно так: git fetch && git checkout
      2. Внесите изменения в локальной системе, затем добавьте изменения, сделайте коммит и отправьте изменения в ветку: git add . git commit -m «добавлено изменение в функциональную ветку» git push origin
      3. Перейдите на страницу Source (Исходный код) в своем репозитории. В раскрывающемся списке вы увидите главную ветку и ветку

      Фильтр веток

      Из интерфейса командной строки, находясь в каталоге локального репозитория

      1. Создайте ветку с помощью команды Git branch. git branch
      2. Просмотрите список веток в репозитории. Вы увидите главную ветку по умолчанию и новую ветку, которую вы создали. git branch
      3. Переключитесь на эту ветку. git checkout
      4. Отправьте новую ветку в Bitbucket. git push —set-upstream origin

      Теперь перейдем в Bitbucket и посмотрим на нашу ветку.

      1. Перейдите в репозиторий.
      2. Нажмите Branches (Ветки).

      Фильтр веток

      Для этого у вас должен быть доступ к сервису Jira Software Cloud, который вы должны интегрировать с Bitbucket. Для этого нужны права администратора, но если вы хотите просто поэкспериментировать с интеграцией и посмотреть, как она работает, вы всегда можете оформить подписку на бесплатную пробную версию Jira Software Cloud.

      Интеграцию этих двух продуктов можно выполнить сразу после настройки сайта Jira. Инструкции по интеграции приведены в статье Подключение Bitbucket Cloud к Jira Software Cloud.

      Шаг 4. Проверьте изменения кода при помощи запроса pull

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

      Создание запроса pull

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

      Создание запроса pull

      1. Source (Источник): репозиторий и ветка, в которой вы изменили код и теперь хотите выполнить слияние этих изменений.
      2. Destination (Назначение): репозиторий и ветка, в которую вы хотите слить изменения.
      3. Title and Description (Заголовок и описание): значения этих двух полей будут использоваться в уведомлениях, отправляемых по электронной почте. Заголовок также будет отображаться в списке запросов pull.
      4. Reviewers (Проверяющие): выберите проверяющих, которые будут оставлять полезные отзывы об изменениях и должны будут подтверждать изменения.
      5. Close branch (Закрыть ветку): установите этот флажок, если хотите, чтобы ветка автоматически закрылась после слияния запроса pull.
      6. Diff and Commits (Различия и коммиты): на этих вкладках можно просмотреть внесенные изменения (Diff) и включенные коммиты.
      1. Нажмите 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 (Слияние), чтобы выполнить слияние вашей ветки с основной. Изменения кода из исходной ветки будут полностью включены в целевую ветку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *