Показаны сообщения с ярлыком Git. Показать все сообщения
Показаны сообщения с ярлыком Git. Показать все сообщения

четверг, 22 декабря 2016 г.

Решение конфликтов при слиянии для файлов Composer.

Как решить конфликты файлов "composer.lock" и "composer.json" при слиянии веток?

Обычно ситуация такая. Вы в своей ветке добавляете новые пакеты Composer, ваш напарник тоже добавляет новые пакеты Composer в своей ветке.
Оба файла "composer.json" и "composer.lock" при этом находятся в репозитории.

Попытавшись вытянуть изменения напарника, сделать слияние веток, вы скорее всего получите конфликт по обоим файлам. А если он ещё делал "composer update" по всем пакетам, то это практически гарантированно.

Не беспокойтесь, решается это достаточно просто.

1. Посмотрите composer.json - какие изменения были от вас, а какие от напарника.
Особенно запомните, какие изменения вносили вы.

2. Сбросьте оба файла на "внешнюю" версию ("theirs"). Таким образом, содержимое у них будет как в той ветке, из которой вы тянете изменения в свою.
Конфликты отмечаем как решённые, завершаем слияние.
Прогоняем "composer install". Вытянутся пакеты напарника.

3. Добавьте ваши изменения ещё раз. Это занимает немного времени, написать один или несколько раз "composer require" для нужных вам пакетов.

Теперь можно выкатывать обновлённые файлы "composer.json" и "composer.lock", они будут корректно работать.

суббота, 3 декабря 2016 г.

Развёртывание проекта с BitBucket на удалённый сервер.

1. Выбираем публичный ключ SSH, он хранится в файле "/.ssh/id_rsa.pub" в домашней папке.
Если его нет, создаём по инструкции.
Копируем содержимое ключа в буфер обмена.

Внимание: если вы копируете ключ с экрана Putty, то в буфере обмена ключ может быть разбит на несколько строк. Нам это не нужно. Уберите переводы строк. Весь ключ должен быть в одной длинной-длинной строке.

2. В настройках репозитория Битбакета добавляем в разделе "Access keys".
Теперь пользователь может читать из репозитория без ввода пароля, доступ осуществляется по ключу.

3. Клонируем репозиторий.
git clone CoolUser@bitbucket.org:CoolUser/cool-repo.git