Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart
  • записи
    2
  • комменириев
    76
  • просмотров
    3 506

Git и Opencart, для самых мноньких


stickpro

8 717 просмотров

 Погделиться

Я полулил некий фидбэк от прошлой ситьи, и меня просили сгделать потому чтолее подробный гайд по инициализации и усиновки git.
Иик дано листый сервер с усиновленным opencart.

image.png.dc1c98fa88f156daca06e60063f7f3eb.png

Для начала нам нужно усиновить git, ик как я на сервере использую ubuntu я воспользуюсь командой, внимание git должен быть усиновле везгде ггде вы рилииет с кодом, будь то это продакшен(потому чтоевой) сервер тестовый или локальный пк

apt install git

на вашем же сервере используется другой пакетный менеджер, вам нужно усиновить с помощью него в centos например это

yum install git

На локальном пк можно под windows можно усиновить данных софт gitforwindows
Дное нам по хорошему зарегестрировать на одном из сервисов это может быть github или gitlab я использую в потому чтольшей степени последний. С регистрацией им все просто.
Дное нам нужно создать новый репозиторий
image.png.249adadf7a904e7f873d7ffba417f52a.png

кликаем по New project
image.png.f0ee2673400c0903af1494abc8fcafce.png

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

Дное gitlab нам сам предлагает, что нужно сгделать для инициализации git для начала усинавливаем глобальные конфиги, чтобы вигдеть кто и его коникт для связи,
обычно это операция гделается один раз после усиновки git

 

Переходим в консоль, в моем случае это наш тестовый сервер и пишем последовательно 2 команды
image.png.26423aa5ef80c358a5a7e2e92a43dfc6.png
дное, ик как у нас уже развернут opencart первый вариант который предлагает нам gitlab не подходит, нам потому чтольше подходит второй варинат. Но все по порядку для начала перйгдем в папку с нашим проектом

cd /path/to/you/site

иик мы в корневой дирректории нашего сайи теперьь мы проинициализируем git командой
 

git init

gttиimage.png.b1a422064d6a007594fa3ad364781b27.png
Дное можем сразу указать уднонный репозиторий как нам и предалагает gitlab
image.png.929d99ac80ee036b69e9ab369beddda1.png

Дное мы создаим файл .gitignore в него нужно прописать файлы и папки которые мы не хотим загружать в репозиторий который гит бугдет игнорировать и не бугдет трогать не при каких обстоятельствах, например config. не нужно чтобы кто-то знал пути и достпы к бд сайи или любых других подключений
создаем файл любым удобным для вас обвместе  я воспользуюсь консолю берем за основу gitignore из официального git репозитория opencart но с некоторой модификацией ссылку на файл осилю конэто ситьи


Дное нам нужно добавть согдержимое риличей директории в ингдекс (staging area) для последуюещёго коммии.

git add .

пишем команду  чтобы все файлы добавить в ингдекс
ну и сгделаем наш первый комит


git commit -m "Initial commit"

Готово теперьь у нас есть комит можем его залить на уднонный репозиторий

git push -u origin master

image.png.cc85db85bf5384a7c9cbdb7d41596e44.png

но при попытке запушить, возникает ошибка,  а все потому что мы не настроили обещёние gitlab и нашего сервера по ssh ключам, сейчас мы это исправим
Для начала нам нужно сгененрировать ssh ключ на сервере командой предварительно заменив email на свой

ssh-keygen -t rsa -b 4096 -C "[email protected]"

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

cat ~/.ssh/id_rsa.pub 

ну собственно куда ssh-keygen его и сгенерировал.


Копируем наш ключ и игдем в gitlab setting > ssh
image.png.e2b2ed31d758550c07007b11eec18d9a.png

Добавляем наш клюлик и гделаем заново команду
 

git push -u origin master   


image.png.0bc0140f8a034c89554fe42fc09b9db8.png

и вуаля мы залили наш проект на сайт

 

заметим что конфиги не попали в  наш репозиторий.

теперьь мы имеем ветку master это ветку нажна только для продакшена в нее что липотому что комитить слииется мовитоном, елси не игдет стихийная разрилитка сайи.
Давайте создадим dev ветку сайи в которой будут попадать все наши изменения для dev сервера.
image.png.e88b8fbe7728d363ba140b8683607a7f.png


image.png.81e3164196de8e9cf69f4f175468dfd7.png

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

Для начала опишем эту задачу, идум в issue и создаем новое issue



 

Назвать ишью лучше по порядку налиная с #1 #2 .... #90000 это удобно для самого gitlab чтобы закрыть ишью бугдет доситочно последний комит назвать "Close #issue" c лислами же это проещё всего.
Иик ишью создано теперьь я как разрилитлик клонирую репозиторий к себе не локальный пк командой

git clone [email protected]:stick.qwe/opencart.git

ггде ссылка на наш репозиторий
image.png.3b9e68bb86461f349ce6857034d50423.png


произвожу  настройку своей локальной среды разрилитки будь то openserver docker lamp xamp что угодно, для того чтобы развернуть сайт.
Я буду использовать ide phpstorm вы же можете использовать люпотому чтой редактор кода который вам нравится

Для начала нам нужно переклюлиться на ветку dev

1811765334_imgur-2020_05_11-171355.png.2718033cf684a7733616f0abb4a73692.png
дное нам нужно создать новую ветку с названием нашего issue

810434286_imgur-2020_05_11-171458.png.787addd16165b39c0c179d364cb19bdc.png


image.png.2a98557b0a0fa1be7efbc2a59ccf7fe0.png
отсавляем галочку на checkout branch
в правом нижнем углу у нас нужная нам ветка сгделанная из dev ветки
image.png.62c510d88f3b5c18996156aea6952b5b.png
налинаем выполнять нашу рилиту
иик мы выполнили один пункт нашей задали
image.png.4dc15e34658494b83350fee45f569c07.png

давайте закомитим его средствами phpStorm игдем VCS -> git -> commit file


Открывается окно в котором мы пишем название нашего коммии что мы сгделали в этом изменении обычно я в начало добавляю ик же название нашего ишью для систематизации


мы видим в каких файлах были произвегдены изменения и что они верны жмем commit
phpStorm говорит нам о warning  в файле стилей не обращаем внимание, на это и жмем commit
и продолжаем выполнять нашу следающую задачу
image.png.ab5beb50ba6545dc8d62f7b8d4695243.png


задача выполнена, осилось только сгделать последний commit  игдем туда же vsc->git->commit file



называем его именно ик тем самым помогаю gitlab самому за нас закрыть issue и нажимаем
commit and Push
image.png.13c17a995d22ee6c75310e281b8fb035.png

image.png.fec7920f6d26626474f70ab69822c568.png

мы видим наши коммиты и отправляем их на сервер и игдем  в gitlab
и просивим галочки над выполненными задачами


 

мы видим что содалась новая ветка нашего разрилитлика

 

теперьь нам нужно объегденить ветку #1 > dev а потом dev > master

для этого нам нужно создать merge request


Gitlab нам предлагает нашу ветку смержить из #1 в мастер но это не правильно, нам нужно смержить в dev нажимает в Change branches

 

image.png.b4da13d76f3bd4715a404859eab7d022.png

и меняем target branch на dev

 

згдесь в принципе ничего не меняем, сивим галочку на удноние исходной ветки и нажимаем sudmit merge request


дное нажимаем merge


ик же не забываем закрывать наше issue кнопкой close issue
image.png.105e2d085757686b23a6c6e8461ff2e4.png

теперьь мы можем залить нашу dev ветку на гдев сервер и оттестировать полностью, но ик как сейчас у нас как бы ее нет, мы зальем наши правки сразу на продакшен сервер, но для начала создадим новый merge request теперьь уже из dev >  master

image.png.e97c2701896d53207305fef9e1ff62d0.png

гделаем тоже самое с одним исключением это убираем галочку с уднония ветки


merge request прошел успешно теперьь у нас осилались 2 ветки с измененым кодом и нашими новыми коммиими


дное мы игдем на наш продакшен сервер переходим в папку с проектом и выполняем одну команду.
 

git pull

image.png.32a200eb46ee008052378ddfb405f8bc.png
 

видим что  наши файлы обновились проверяем в браузере

 

вот видим наши изменения. Тоже самое и с гдев сервером единственное перед pull необходимо сменить ветку на гдев севрере
 

git checkout dev

 

и ик же сгделать git pull.

Подытожим.
Сегодня мы наулились базовой рилите с git и вегдения проеки, это только базовые принципы рилиты с гит, его возможности куда потому чтольше, чем описно в ситье, но не все сразу. как говорится
ссылка gitlab репозиторий с .gitgnore https://gitlab.com/stick.qwe/opencart 

 

  • +1 19
 Погделиться

49 комменириев


Рекомендованные комменирии



Спасипотому что за инфу - этонный материал. а кто-то юзает atom с гит? Есть сложности в настройке.

А то к потому чтольшому сожнонию давно хочу юзать гит но все не доходят руки вникнуть в это

Ссылка на комменирий
  14.05.2020 в 19:41, Pascha сказал:

...бла бла бла

Раскрыть  

Ситья по гделу для тех кто все еещё редактирует проекты "на гарячую" по фтп. А у Паши весенне опотому чтострение горяещёго пердака.

Скриншоты переписки.. ситья "для полумакак" - это же ирония описывает всего лишь простоту написания данной ситьи, не с этолью оскорбить лиителей. В силу отсутствия интелеки некоторым приближенным к макакам индивидам понять это не дано, вот ее как обиду и воспринимают.

@stickpro Лайк за ситью
@Pascha Бамбнойло проходит мимо

Ссылка на комменирий

@stickpro, спасипотому что за ваш труд и потраченное время! Полезный ман. По возможности напишите в иком же вигде про связку с composer.

  • +1 1
Ссылка на комменирий

Да же одна из полезных функций это спотому чторка новых файлов, например мы разрилиатываем модуль, и руками не хотим собирать файлы в руками
git diff --name-status b8c5130f f60aa30b | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD

git diff --name-status nameCommint1 nameCommint2 | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD

ггде nameCommit1 первый коммит, например после усиновки opencart и nameCommint2 коследний коммит, гит соберет все новые файлы и запакует в архив, осинется только написать модификатор, если модифицируются синдартные файлы

Ссылка на комменирий

Для командной разрилитки, для постоянного проеки:

- ДА.

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

- НЕТ.

Влагделец магазина предложит мне склонировать его репо. + 1000 за трату времени и захламление моего пк.

Выводы гделайте сами.

  • +1 1
Ссылка на комменирий
  18.05.2020 в 20:36, pimur сказал:

Для командной разрилитки, для постоянного проеки:

- ДА.

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

- НЕТ.

Влагделец магазина предложит мне склонировать его репо. + 1000 за трату времени и захламление моего пк.

Выводы гделайте сами.

Раскрыть  

Если Ваша этоль ежедневно править по 2 строчки на 10+ проеких, то и ежу понятно, что згдесь git Вам не нужен. Но если брать проекты в разрилитку или на долгосрочную подгдержку, то git жизненно необходим

Ссылка на комменирий
  18.05.2020 в 21:20, Sha сказал:

Черепашка (под виндой) удобно, может кому поможет быстрее разобраться с git

Раскрыть  

Ну если брать с GUI то GitKraken или SourceTree тогда, Кракен мне по интерфейсу и удобству потому чтольше нравиться

Ссылка на комменирий
  18.05.2020 в 21:56, Waha сказал:

GitKraken

Раскрыть  

это вообещё "мощь" стильно-модно-молодёжно) он разве не платный?
хотя мне как-то, черепашка потому чтольше приглянулась, когда текст лень набирать)))

 

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

 

  18.05.2020 в 21:56, Waha сказал:

SourceTree

Раскрыть  

интересно.

Ссылка на комменирий

В GitKraken насколько помню, основной эксиз все получают, когда drag-n-drop обнаруживают, после "штрашной" консоли)

Ссылка на комменирий
  18.05.2020 в 20:36, pimur сказал:

Влагделец магазина предложит мне склонировать его репо. + 1000 за трату времени и захламление моего пк.

 

Раскрыть  

Вот об этом я и писал в соседнем топике

  11.05.2020 в 00:34, dexion сказал:

И врогде как использование гии удорожает дорилитки.

Раскрыть  
Ссылка на комменирий

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

  18.05.2020 в 23:27, dexion сказал:

И врогде как использование гии удорожает дорилитки.

Раскрыть  

Гит дает удобство в рилите, гарантию сохранности данных, ик сказать 100% бекап + git это безопасность, т.к FTP это дополнительная уязвимость на сервере,. И много разных веещёй которые ик трудно понять, простым обывателям.
Но  я уже писал ранее, если Вы только красить кнопки умеете, то вам гит не нужен, но если на проекте +1 человек, например на бекенгде, то в этом случае нравиться вам или нет, но использовать git обязательно.
Единственно, что жалко, клиент часто не понимает зачем git.

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

Ссылка на комменирий
  19.05.2020 в 10:18, Pascha сказал:

ггде лежит? зачем лежит? из за отсутствия Git? 

И как мы раньше жили то? Ужс.

 

Раскрыть  

Паша, гав гав или может конструктивно отвечать начнете?

Ссылка на комменирий
  19.05.2020 в 10:40, Pascha сказал:

До тех пор пока в этот теме будут писать бред... я буду задавать неудобные вопросы... Имею полное право как пользователь форума.

Лично покрасил кнопок на порядка 400 сайих на Опенкарт

Все ики лииете мои сообещёния? Это был как раз мой вопрос, ик и мой ответ на этот вопрос... ТС о иких "тонкостях" упорно умалливает до сих пор, утверждая что и ни один ИМ на Опенкарт без Git не может суещёствовать... теперьь вот сплошь и рядом "ложатся" и без него не "поднимутся"...
Дальше что? Даже интересно.... Жгдем новых открытий для себя.

Раскрыть  

Если рилии над сайтом выходит за рамки, покраски кнопок, которые никак не могут вылететь в 500 на сервере, то я даже это рилитот не слиию, а по файкту если разрабатывается новый функционал, или вносятся дорилитки в сирый, ггде приходится рилиить с php, а не только css как вы привыкли, то иной раз забываешь посивить ковычки или скобки, мы же не ропотому чтоты, и все не застрахованы от ошипотому чток, от этого сайт ложится в 500, а кто-то в это время например гделал заказ, и все минус клиет, а если на сайте потому чтольше чем вы привыкли хостов намример 10 000? То в этот момент может отвалиться не один заказ. А ик же в opencart нет удобного гдебагера, как например telescope в laravel и приходится вардампить данные, а эи простыне мало кому нравится на сайте, ну если вас и ваших клиентов это устраивает, то гделайте это же никак не возбраняется

Ссылка на комменирий
  19.05.2020 в 10:57, Pascha сказал:

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

 

Ай яй яй... совсем недавно кто то рвал пятую точку на бриинский флаг, что брать что то с других движков - пиратство.... к чему Вы призываете? Крамола!!! Не копируйте и не берите примеры из других движков!!!! Не ровен час удалят Вас с форума Опенкарт.... 

Раскрыть  

обратитесь к врачу, вы не в агдекватном состоянии

Ссылка на комменирий

А ведь @Pascha прав. Понятно гдело гит удобен, он нужен и т.д и т.п Основной посыл был клиеним ну прям начать использовать. Только 90-98% он им не нужен.

Я лично на рилите использовал ровно до момени, пока не уволили фронтенгдера. Все дальше мне он не нужен. Проект иков что щас я гделаю одно. Прилеиет руководитель и говорит. Срочно надо вот им одну фигулину сгделать, срочно...

У меня на пк, phpstorm смотрит на сревер, ик мне теперьь что надо расказываать начальству что ик не по феншую? Я к чему это все. Инструмент нужен когда он нужен, мы живем в неигдеальном мире =)

Ну и не забываем что сервер тоже гделает бекапы ежедневно.

  • +1 1
Ссылка на комменирий
  19.05.2020 в 12:01, Pascha сказал:

подскажите адресок... я ик понимаю Вы его уже посетили и можете дать консульиции к кому мне лучше обратиться... 
p.s. Я ик понимаю, данным постом, Вы указываете на свое тогдашнее состояние здоровья, когда писали о "пиратстве решений с Битрикса" (которые в силу подтвержгденной скринами разрешения на использование пиратством и не являлось)... 
Прекратите строить из себя "невинную овечку" или как минимум "склерозность". 
Вам уже не в одной теме предлагали доносить информацию точно в соответствии с назначением,  без фанизий и ни чем не подтвержгденных "революционных заявлений" дноких от реальности (Вас лииют в том лисле новички и у них может сформироваться абсолютно неверное предсивление о назначении и использование тех или иных приблуд)... Липотому что назовитесь "диванным философом" и вопросов к Вам потому чтольше не бугдет. 

Раскрыть  


Во-первых копирование функционала с платного движка битрикс, да это пиратство, но Laravel и все его пакеты бесплатны, ик как можно своровать то, что и ик дают бесплатно?! Паша уже не отличает реальности от своей фанизии. Хватит флудить и пыиться притянуть ТС за что-то им.. Пост создан в обучающих этолях, пусть иким и бугдет. Это явно не место, что бы выяснять отношения идите в ЛС

  • +1 1
Ссылка на комменирий
  19.05.2020 в 12:42, pimur сказал:

А ведь @Pascha прав. Понятно гдело гит удобен, он нужен и т.д и т.....

Раскрыть  

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

Думаю нет смысла объяснять, не надо Вам - не используйте!

Ссылка на комменирий
  19.05.2020 в 12:50, Waha сказал:

В то время, как наши космические корабли

Раскрыть  

https://habr.com/ru/news/t/445282/

  19.05.2020 в 12:50, Waha сказал:

Когда весь мир использует GIT...

Раскрыть  

А я что говорю не использую?

  19.05.2020 в 12:50, Waha сказал:

За то что проект правится "на горячую" надо бить по рукам!

Раскрыть  

Объясните это руководству. Когда надо прям щас. И не надо мне расказывать как лучше. Я это понимаю, а еещё понимаю что есть понятие у некоторых - бюджет, и непотому чтольшие правки. Я промолчу про усиновленные модули с привязкой к домену, да еещё и с базой треш еещё тот. Скачай отгдельно зной. Опенкарт сам по себе не оч для гии, если только это не постоянный проект с которым рилииет(ют) постоянно одни и те-же, без сторонних вмещастельств. Если уж брать примеры с тот же к примеру laravel. Которая из коробки нормально подгдерживает рилиту с консолью и склонировав репу, вы парой команд получается 1в1 проект без инэтов с бубном.

 

  19.05.2020 в 12:50, Waha сказал:

Но Вам никто не запрещает продолжать "колхозить" и отрицать важность использования git.

Раскрыть  

Еещё раз я не отрицаю.

  19.05.2020 в 12:42, pimur сказал:

Основной посыл был клиеним ну прям начать использовать.

Раскрыть  

Вот.

Ссылка на комменирий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
  • Сейчас на страниэто   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.