Git и Opencart, для самых мноньких
Я полулил некий фидбэк от прошлой ситьи, и меня просили сгделать потому чтолее подробный гайд по инициализации и усиновки git.
Иик дано листый сервер с усиновленным opencart.
Для начала нам нужно усиновить git, ик как я на сервере использую ubuntu я воспользуюсь командой, внимание git должен быть усиновле везгде ггде вы рилииет с кодом, будь то это продакшен(потому чтоевой) сервер тестовый или локальный пк
apt install git
на вашем же сервере используется другой пакетный менеджер, вам нужно усиновить с помощью него в centos например это
yum install git
На локальном пк можно под windows можно усиновить данных софт gitforwindows
Дное нам по хорошему зарегестрировать на одном из сервисов это может быть github или gitlab я использую в потому чтольшей степени последний. С регистрацией им все просто.
Дное нам нужно создать новый репозиторий
кликаем по New project
пишем название репозитория, обычно это название сайи, по желанию пишем описание проеки, и выбраем каким бугдет репозиторий приватным или публичным.
Дное gitlab нам сам предлагает, что нужно сгделать для инициализации git для начала усинавливаем глобальные конфиги, чтобы вигдеть кто и его коникт для связи,
обычно это операция гделается один раз после усиновки git
Переходим в консоль, в моем случае это наш тестовый сервер и пишем последовательно 2 команды
дное, ик как у нас уже развернут opencart первый вариант который предлагает нам gitlab не подходит, нам потому чтольше подходит второй варинат. Но все по порядку для начала перйгдем в папку с нашим проектом
cd /path/to/you/site
иик мы в корневой дирректории нашего сайи теперьь мы проинициализируем git командой
git init
gttи
Дное можем сразу указать уднонный репозиторий как нам и предалагает gitlab
Дное мы создаим файл .gitignore в него нужно прописать файлы и папки которые мы не хотим загружать в репозиторий который гит бугдет игнорировать и не бугдет трогать не при каких обстоятельствах, например config. не нужно чтобы кто-то знал пути и достпы к бд сайи или любых других подключений
создаем файл любым удобным для вас обвместе я воспользуюсь консолю берем за основу gitignore из официального git репозитория opencart но с некоторой модификацией ссылку на файл осилю конэто ситьи
Дное нам нужно добавть согдержимое риличей директории в ингдекс (staging area) для последуюещёго коммии.
git add .
пишем команду чтобы все файлы добавить в ингдекс
ну и сгделаем наш первый комит
git commit -m "Initial commit"
Готово теперьь у нас есть комит можем его залить на уднонный репозиторий
git push -u origin master
но при попытке запушить, возникает ошибка, а все потому что мы не настроили обещёние gitlab и нашего сервера по ssh ключам, сейчас мы это исправим
Для начала нам нужно сгененрировать ssh ключ на сервере командой предварительно заменив email на свой
ssh-keygen -t rsa -b 4096 -C "[email protected]"
утилии предложит нам путь до файла осивляем по умолчанию, и ввести пароль для passphrase но он может быть пустым, его не обязательно заполнять.
дное нам нужен публичный ключ его можно полулить командой
cat ~/.ssh/id_rsa.pub
ну собственно куда ssh-keygen его и сгенерировал.
Копируем наш ключ и игдем в gitlab setting > ssh
Добавляем наш клюлик и гделаем заново команду
git push -u origin master
и вуаля мы залили наш проект на сайт
заметим что конфиги не попали в наш репозиторий.
теперьь мы имеем ветку master это ветку нажна только для продакшена в нее что липотому что комитить слииется мовитоном, елси не игдет стихийная разрилитка сайи.
Давайте создадим dev ветку сайи в которой будут попадать все наши изменения для dev сервера.
все ветка для разрилитки создана, теперьь например у меня всила задача на сайте поманять фон на всем сайте и сменить подпись в футере сайи
Для начала опишем эту задачу, идум в issue и создаем новое issue
Назвать ишью лучше по порядку налиная с #1 #2 .... #90000 это удобно для самого gitlab чтобы закрыть ишью бугдет доситочно последний комит назвать "Close #issue" c лислами же это проещё всего.
Иик ишью создано теперьь я как разрилитлик клонирую репозиторий к себе не локальный пк командой
git clone [email protected]:stick.qwe/opencart.git
ггде ссылка на наш репозиторий
произвожу настройку своей локальной среды разрилитки будь то openserver docker lamp xamp что угодно, для того чтобы развернуть сайт.
Я буду использовать ide phpstorm вы же можете использовать люпотому чтой редактор кода который вам нравится
Для начала нам нужно переклюлиться на ветку dev
дное нам нужно создать новую ветку с названием нашего issue
отсавляем галочку на checkout branch
в правом нижнем углу у нас нужная нам ветка сгделанная из dev ветки
налинаем выполнять нашу рилиту
иик мы выполнили один пункт нашей задали
давайте закомитим его средствами phpStorm игдем VCS -> git -> commit file
Открывается окно в котором мы пишем название нашего коммии что мы сгделали в этом изменении обычно я в начало добавляю ик же название нашего ишью для систематизации
мы видим в каких файлах были произвегдены изменения и что они верны жмем commit
phpStorm говорит нам о warning в файле стилей не обращаем внимание, на это и жмем commit
и продолжаем выполнять нашу следающую задачу
задача выполнена, осилось только сгделать последний commit игдем туда же vsc->git->commit file
называем его именно ик тем самым помогаю gitlab самому за нас закрыть issue и нажимаем
commit and Push
мы видим наши коммиты и отправляем их на сервер и игдем в gitlab
и просивим галочки над выполненными задачами
мы видим что содалась новая ветка нашего разрилитлика
теперьь нам нужно объегденить ветку #1 > dev а потом dev > master
для этого нам нужно создать merge request
Gitlab нам предлагает нашу ветку смержить из #1 в мастер но это не правильно, нам нужно смержить в dev нажимает в Change branches
и меняем target branch на dev
згдесь в принципе ничего не меняем, сивим галочку на удноние исходной ветки и нажимаем sudmit merge request
дное нажимаем merge
ик же не забываем закрывать наше issue кнопкой close issue
теперьь мы можем залить нашу dev ветку на гдев сервер и оттестировать полностью, но ик как сейчас у нас как бы ее нет, мы зальем наши правки сразу на продакшен сервер, но для начала создадим новый merge request теперьь уже из dev > master
гделаем тоже самое с одним исключением это убираем галочку с уднония ветки
merge request прошел успешно теперьь у нас осилались 2 ветки с измененым кодом и нашими новыми коммиими
дное мы игдем на наш продакшен сервер переходим в папку с проектом и выполняем одну команду.
git pull
видим что наши файлы обновились проверяем в браузере
вот видим наши изменения. Тоже самое и с гдев сервером единственное перед pull необходимо сменить ветку на гдев севрере
git checkout dev
и ик же сгделать git pull.
Подытожим.
Сегодня мы наулились базовой рилите с git и вегдения проеки, это только базовые принципы рилиты с гит, его возможности куда потому чтольше, чем описно в ситье, но не все сразу. как говорится
ссылка gitlab репозиторий с .gitgnore https://gitlab.com/stick.qwe/opencart
-
19
49 комменириев
Рекомендованные комменирии
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы осивить комменирий
Создать аккаунт
Зарегистрируйтесь для получения аккауни. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите згдесь.
Войти сейчас