<?xml version="1.0"?>
<rss version="2.0"><channel><title/><link>https://opencartforum.com/ru/blogs/218-best-practice/</link><description><![CDATA[
<p>
	Освещение проблем которые видны при поддержке и работе с клиентами которые используют opencart
</p>
]]></description><language>ru</language><item><title>Git &#x438; Opencart, &#x434;&#x43B;&#x44F; &#x441;&#x430;&#x43C;&#x44B;&#x445; &#x43C;&#x430;&#x43B;&#x435;&#x43D;&#x44C;&#x43A;&#x438;&#x445;</title><link>https://opencartforum.com/blogs/entry/326-git-i-opencart-dlya-samyh-malenkih/</link><description><![CDATA[
<p>
	Я получил некий фидбэк от прошлой статьи, и меня просили сделать более подробный гайд по инициализации и установки git.<br>
	Итак дано чистый сервер с установленным opencart.<br>
	<br>
	<img alt="image.png.dc1c98fa88f156daca06e60063f7f3eb.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543257" data-ratio="37.94" style="height:auto;" width="601" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.dc1c98fa88f156daca06e60063f7f3eb.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	Для начала нам нужно установить git, так как я на сервере использую ubuntu я воспользуюсь командой, внимание git должен быть установле везде где вы работает с кодом, будь то это продакшен(боевой) сервер тестовый или локальный пк
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">apt install git</span></pre>

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

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">yum install git</span></pre>

<p>
	На локальном пк можно под windows можно установить данных софт <a href="https://gitforwindows.org/" rel="external nofollow">gitforwindows</a><br>
	Далее нам по хорошему зарегестрировать на одном из сервисов это может быть <a href="http://github.com/" rel="external nofollow">github</a> или <a href="https://gitlab.com/" rel="external nofollow">gitlab</a> я использую в большей степени последний. С регистрацией там все просто.<br>
	Далее нам нужно создать новый репозиторий<br>
	<img alt="image.png.249adadf7a904e7f873d7ffba417f52a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543271" data-ratio="31.35" style="height:auto;" width="657" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.249adadf7a904e7f873d7ffba417f52a.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	кликаем по New project<br>
	<img alt="image.png.f0ee2673400c0903af1494abc8fcafce.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543285" data-ratio="70.12" style="height:auto;" width="964" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.f0ee2673400c0903af1494abc8fcafce.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	пишем название репозитория, обычно это название сайта, по желанию пишем описание проекта, и выбраем каким будет репозиторий приватным или публичным.<br>
	<br>
	Далее gitlab нам сам предлагает, что нужно сделать для инициализации git для начала устанавливаем глобальные конфиги, чтобы видеть кто и его контакт для связи,<br>
	обычно это операция делается один раз после установки git<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543287" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.f9b4c5208c9d3f9ff35d39ffff6e5d06.png" rel=""><img alt="image.thumb.png.eeb41b5b45d7d5d54d2845677b4b0634.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543287" data-ratio="88.44" style="height:auto;" width="848" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.eeb41b5b45d7d5d54d2845677b4b0634.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	 
</p>

<p>
	Переходим в консоль, в моем случае это наш тестовый сервер и пишем последовательно 2 команды<br>
	<img alt="image.png.26423aa5ef80c358a5a7e2e92a43dfc6.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543302" data-ratio="12.72" style="height:auto;" width="574" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.26423aa5ef80c358a5a7e2e92a43dfc6.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	далее, так как у нас уже развернут opencart первый вариант который предлагает нам gitlab не подходит, нам больше подходит второй варинат. Но все по порядку для начала перйдем в папку с нашим проектом
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">cd /path/to/you/site</span></pre>

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

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git init</span></pre>

<p>
	<span>gttи</span><img alt="image.png.b1a422064d6a007594fa3ad364781b27.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543316" data-ratio="32.82" style="height:auto;" width="719" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.b1a422064d6a007594fa3ad364781b27.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	Далее можем сразу указать удаленный репозиторий как нам и предалагает gitlab<br>
	<img alt="image.png.929d99ac80ee036b69e9ab369beddda1.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543320" data-ratio="8.81" style="height:auto;" width="704" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.929d99ac80ee036b69e9ab369beddda1.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	Далее мы создаим файл .gitignore в него нужно прописать файлы и папки которые мы не хотим загружать в репозиторий который гит будет игнорировать и не будет трогать не при каких обстоятельствах, например config. не нужно чтобы кто-то знал пути и достпы к бд сайта или любых других подключений<br>
	создаем файл любым удобным для вас образом  я воспользуюсь консолю берем за основу gitignore из официального git репозитория opencart но с некоторой модификацией ссылку на файл осталю конце статьи<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543334" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.963892b26d661a7a518c60f94338c515.png" rel=""><img alt="image.thumb.png.6479f43f1dfdcebf00fcb35ac15ac7fe.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543334" data-ratio="130.66" style="height:auto;" width="574" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.6479f43f1dfdcebf00fcb35ac15ac7fe.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	Далее нам нужно добавть содержимое рабочей директории в индекс (staging area) для последующего коммита.
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git add .</span></pre>

<p>
	пишем команду  чтобы все файлы добавить в индекс<br>
	ну и сделаем наш первый комит
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">
git commit -m "Initial commit"</span></pre>

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

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git push -u origin master</span></pre>

<p>
	<img alt="image.png.cc85db85bf5384a7c9cbdb7d41596e44.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543342" data-ratio="25.34" style="height:auto;" width="742" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.cc85db85bf5384a7c9cbdb7d41596e44.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	но при попытке запушить, возникает ошибка,  а все потому что мы не настроили общение gitlab и нашего сервера по ssh ключам, сейчас мы это исправим<br>
	Для начала нам нужно сгененрировать ssh ключ на сервере командой предварительно заменив email на свой
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">ssh-keygen -t rsa -b 4096 -C "your_email@example.com"</span></pre>

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

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">cat ~/.ssh/id_rsa.pub </span></pre>

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

<p>
	<br>
	Копируем наш ключ и идем в gitlab setting &gt; ssh<br>
	<img alt="image.png.e2b2ed31d758550c07007b11eec18d9a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543347" data-ratio="107.50" style="height:auto;" width="280" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.e2b2ed31d758550c07007b11eec18d9a.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543349" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.8b03227916030e9b1659ef3065844b66.png" rel=""><img alt="image.thumb.png.e75f1941bf3660f055c2ced38a106b91.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543349" data-ratio="44.30" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.e75f1941bf3660f055c2ced38a106b91.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	Добавляем наш ключик и делаем заново команду<br>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git push -u origin master   </span></pre>

<p>
	<br>
	<img alt="image.png.0bc0140f8a034c89554fe42fc09b9db8.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543352" data-ratio="37.70" style="height:auto;" width="634" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.0bc0140f8a034c89554fe42fc09b9db8.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	и вуаля мы залили наш проект на сайт<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543354" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.2f4f46c5e22b478284d24f03a164f9ee.png" rel=""><img alt="image.thumb.png.bfc9b86f38ff31823280943a55200d3a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543354" data-ratio="66.30" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.bfc9b86f38ff31823280943a55200d3a.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	 
</p>

<p>
	заметим что конфиги не попали в  наш репозиторий.<br>
	<br>
	теперь мы имеем ветку master это ветку нажна только для продакшена в нее что либо комитить считается мовитоном, елси не идет стихийная разработка сайта.<br>
	Давайте создадим dev ветку сайта в которой будут попадать все наши изменения для dev сервера.<br>
	<img alt="image.png.e88b8fbe7728d363ba140b8683607a7f.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543355" data-ratio="60.59" style="height:auto;" width="576" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.e88b8fbe7728d363ba140b8683607a7f.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	<br>
	<img alt="image.png.81e3164196de8e9cf69f4f175468dfd7.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543356" data-ratio="59.97" style="height:auto;" width="612" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.81e3164196de8e9cf69f4f175468dfd7.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	все ветка для разработки создана, теперь например у меня встала задача на сайте поманять фон на всем сайте и сменить подпись в футере сайта<br>
	<br>
	Для начала опишем эту задачу, идум в issue и создаем новое issue<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543363" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.b3c67eca51f4455c3a6dd61f6f3ee929.png" rel=""><img alt="image.thumb.png.e0b92092f71819363d26038cf4d3ed90.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543363" data-ratio="57.90" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.e0b92092f71819363d26038cf4d3ed90.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543365" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.8e9fa02444bcb6ebcd0dbd5b918a9c97.png" rel=""><img alt="image.thumb.png.f94b49e756fedb2c116dcb3038efb745.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543365" data-ratio="63.50" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.f94b49e756fedb2c116dcb3038efb745.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	 
</p>

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

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git clone git@gitlab.com:stick.qwe/opencart.git</span></pre>

<p>
	где ссылка на наш репозиторий<br>
	<img alt="image.png.3b9e68bb86461f349ce6857034d50423.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543369" data-ratio="53.13" style="height:auto;" width="448" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.3b9e68bb86461f349ce6857034d50423.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	<br>
	произвожу  настройку своей локальной среды разработки будь то openserver docker lamp xamp что угодно, для того чтобы развернуть сайт.<br>
	Я буду использовать ide phpstorm вы же можете использовать любой редактор кода который вам нравится<br>
	<br>
	Для начала нам нужно переключиться на ветку dev<br>
	<br>
	<img alt="1811765334_imgur-2020_05_11-171355.png.2718033cf684a7733616f0abb4a73692.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543553" data-ratio="61.90" style="height:auto;" width="496" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/1811765334_imgur-2020_05_11-171355.png.2718033cf684a7733616f0abb4a73692.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	далее нам нужно создать новую ветку с названием нашего issue
</p>

<p>
	<img alt="810434286_imgur-2020_05_11-171458.png.787addd16165b39c0c179d364cb19bdc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543554" data-ratio="116.41" style="height:auto;" width="256" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/810434286_imgur-2020_05_11-171458.png.787addd16165b39c0c179d364cb19bdc.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	<br>
	<img alt="image.png.2a98557b0a0fa1be7efbc2a59ccf7fe0.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543379" data-ratio="51.84" style="height:auto;" width="434" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.2a98557b0a0fa1be7efbc2a59ccf7fe0.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	отсавляем галочку на checkout branch<br>
	в правом нижнем углу у нас нужная нам ветка сделанная из dev ветки<br>
	<img alt="image.png.62c510d88f3b5c18996156aea6952b5b.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543384" data-ratio="54.42" style="height:auto;" width="215" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.62c510d88f3b5c18996156aea6952b5b.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	начинаем выполнять нашу работу<br>
	итак мы выполнили один пункт нашей задачи<br>
	<img alt="image.png.4dc15e34658494b83350fee45f569c07.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543385" data-ratio="37.90" style="height:auto;" width="810" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.4dc15e34658494b83350fee45f569c07.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	давайте закомитим его средствами phpStorm идем VCS -&gt; git -&gt; commit file<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543387" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.83464755139aaf74c47757fc5b5987d8.png" rel=""><img alt="image.thumb.png.d148caa0114b80952a00512376ba0877.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543387" data-ratio="56.20" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.d148caa0114b80952a00512376ba0877.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	Открывается окно в котором мы пишем название нашего коммита что мы сделали в этом изменении обычно я в начало добавляю так же название нашего ишью для систематизации<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543390" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.e7462518a92b559aed72688476711ac6.png" rel=""><img alt="image.thumb.png.4f58338dbf53fb15fb37a0716d0525e4.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543390" data-ratio="93.28" style="height:auto;" width="804" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.4f58338dbf53fb15fb37a0716d0525e4.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	мы видим в каких файлах были произведены изменения и что они верны жмем commit<br>
	phpStorm говорит нам о warning  в файле стилей не обращаем внимание, на это и жмем commit<br>
	и продолжаем выполнять нашу следающую задачу<br>
	<img alt="image.png.ab5beb50ba6545dc8d62f7b8d4695243.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543392" data-ratio="61.46" style="height:auto;" width="890" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.ab5beb50ba6545dc8d62f7b8d4695243.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png">
</p>

<p>
	<br>
	задача выполнена, осталось только сделать последний commit  идем туда же vsc-&gt;git-&gt;commit file<br>
	<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543394" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.ee662015716b9ca40e3b6ec99e01357d.png" rel=""><img alt="image.thumb.png.540dd49acfaf82cd7f65d92dabd0124a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543394" data-ratio="93.28" style="height:auto;" width="804" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.540dd49acfaf82cd7f65d92dabd0124a.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	называем его именно так тем самым помогаю gitlab самому за нас закрыть issue и нажимаем<br>
	commit and Push<br>
	<img alt="image.png.13c17a995d22ee6c75310e281b8fb035.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543395" data-ratio="54.49" style="height:auto;" width="356" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.13c17a995d22ee6c75310e281b8fb035.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	<img alt="image.png.fec7920f6d26626474f70ab69822c568.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543399" data-ratio="66.00" style="height:auto;" width="800" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.fec7920f6d26626474f70ab69822c568.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	мы видим наши коммиты и отправляем их на сервер и идем  в gitlab<br>
	и проставим галочки над выполненными задачами<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543401" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.dc71371252e70f23846e63678b1cf88a.png" rel=""><img alt="image.thumb.png.e67153a2c29e819898f8ef349ec29444.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543401" data-ratio="40.50" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.e67153a2c29e819898f8ef349ec29444.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	 
</p>

<p>
	мы видим что содалась новая ветка нашего разработчика <a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543403" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.cf68d81b3e55b043acf80caf1bf86c9d.png" rel=""><img alt="image.thumb.png.9b52e9128aa697a8329dc33f79c91895.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543403" data-ratio="75.50" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.9b52e9128aa697a8329dc33f79c91895.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	 
</p>

<p>
	теперь нам нужно объеденить ветку #1 &gt; dev а потом dev &gt; master<br>
	<br>
	для этого нам нужно создать merge request<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543405" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.bab23908d1be590ef83be3d41a5afdee.png" rel=""><img alt="image.thumb.png.b5ae1aff093ad0e7b08610b865d904d6.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543405" data-ratio="67.90" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.b5ae1aff093ad0e7b08610b865d904d6.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	Gitlab нам предлагает нашу ветку смержить из #1 в мастер но это не правильно, нам нужно смержить в dev нажимает в <span>Change branches </span>
</p>

<p>
	 
</p>

<p>
	<img alt="image.png.b4da13d76f3bd4715a404859eab7d022.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543407" data-ratio="82.40" style="height:auto;" width="642" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.b4da13d76f3bd4715a404859eab7d022.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	и меняем target branch на dev<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543409" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.4c81a08f0b8580de1a56e72e40354a51.png" rel=""><img alt="image.thumb.png.0c66334c36b064ea9fc58b0e348da2bc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543409" data-ratio="24.90" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.0c66334c36b064ea9fc58b0e348da2bc.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	 
</p>

<p>
	здесь в принципе ничего не меняем, ставим галочку на удаление исходной ветки и нажимаем sudmit merge request<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543411" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.d4e33d239b70cf7bcc9de2dc02c7a720.png" rel=""><img alt="image.thumb.png.a305360b69fb3c3d273445ce1bfb005a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543411" data-ratio="106.99" style="height:auto;" width="701" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.a305360b69fb3c3d273445ce1bfb005a.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	далее нажимаем merge<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543413" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.2f135ebfde2e129a16108854a827e81e.png" rel=""><img alt="image.thumb.png.ab704b0a12fdf8b07bbd0fd3162be422.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543413" data-ratio="89.82" style="height:auto;" width="835" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.ab704b0a12fdf8b07bbd0fd3162be422.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	<br>
	так же не забываем закрывать наше issue кнопкой close issue<br>
	<img alt="image.png.105e2d085757686b23a6c6e8461ff2e4.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543414" data-ratio="54.55" style="height:auto;" width="902" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.105e2d085757686b23a6c6e8461ff2e4.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	теперь мы можем залить нашу dev ветку на дев сервер и оттестировать полностью, но так как сейчас у нас как бы ее нет, мы зальем наши правки сразу на продакшен сервер, но для начала создадим новый merge request теперь уже из dev &gt;  master<br>
	<br>
	<img alt="image.png.e97c2701896d53207305fef9e1ff62d0.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543417" data-ratio="54.55" style="height:auto;" width="902" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.e97c2701896d53207305fef9e1ff62d0.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	делаем тоже самое с одним исключением это убираем галочку с удаления ветки<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543418" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.5fe071a4a640ea95274d5c8f47b1a21c.png" rel=""><img alt="image.thumb.png.ceda2e7dcf94ee47a85b7c0032e69d67.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543418" data-ratio="115.03" style="height:auto;" width="652" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.ceda2e7dcf94ee47a85b7c0032e69d67.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	<br>
	merge request прошел успешно теперь у нас осталались 2 ветки с измененым кодом и нашими новыми коммитами <a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543425" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.4a8f75be32be37ed7f293a9534c557f5.png" rel=""><img alt="image.thumb.png.514fdc1d2ef7dfca561116432299c2dc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543425" data-ratio="67.90" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.514fdc1d2ef7dfca561116432299c2dc.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	<br>
	далее мы идем на наш продакшен сервер переходим в папку с проектом и выполняем одну команду.<br>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git pull</span></pre>

<p>
	<img alt="image.png.32a200eb46ee008052378ddfb405f8bc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543432" data-ratio="30.29" style="height:auto;" width="614" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.32a200eb46ee008052378ddfb405f8bc.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	 
</p>

<p>
	видим что  наши файлы обновились проверяем в браузере<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543433" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.c169371af54a6a74e601296edb3c8ba5.png" rel=""><img alt="image.thumb.png.c418cde38df1e8c632bc28496313f84d.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543433" data-ratio="75.20" style="height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.c418cde38df1e8c632bc28496313f84d.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	 
</p>

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

<pre class="ipsCode prettyprint lang-html prettyprinted">
<span class="pln">git checkout dev</span></pre>

<p>
	 
</p>

<p>
	и так же сделать git pull.<br>
	<br>
	Подытожим.<br>
	Сегодня мы научились базовой работе с git и ведения проекта, это только базовые принципы работы с гит, его возможности куда больше, чем описно в статье, но не все сразу. как говорится<br>
	ссылка gitlab репозиторий с .gitgnore <a href="https://gitlab.com/stick.qwe/opencart" rel="external nofollow">https://gitlab.com/stick.qwe/opencart</a> 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">326</guid><pubDate>Mon, 11 May 2020 19:35:00 +0000</pubDate></item><item><title>Git &#x438; Deploy web &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;</title><link>https://opencartforum.com/blogs/entry/324-git-i-deploy-web-prilozhenie/</link><description><![CDATA[
<p>
	За долгое время работы над сайтами над opencart не один клиент не пришел со своим магазином который имел бы систему контроля версий.<br>
	Это же в разы упрощает работу, как для разработчиков так и для клиентов. Немного теории и для чего это нужно.<br>
	Git это распрастроненная система котроля версий, которая позволяет хранить все слепки(снимки) кода. Тоесть это + и для клиента, он видит за что платит и в каких файлах были внесены изменения, и кто внес эти изменения, тоесть не будет уже такого, вот кто-то зашел на наш сервер и внес изменения и что то сломалось. Для разработчика это легкий способ развернуть исправить и залить на сервер. Снимая с себя ответсвенность за других разработчиков.<br>
	Тоесть git позволяет навести порядок у себя в голове и в своем магазине, блоге, приложении не важно.Почему большинство разработчиков и владельцев магазинов не использует для меня пока загадка.
</p>

<p>
	<br>
	Работать с гит очень просто и это в разы повысит эффективность вашей разработки. И внимание если вы хоть раз попробуете git вам уже больше не захочется возвращаться к ftp.
</p>

<p>
	<br>
	Для начала просто заведите аккаунт на одном из бесплатных <a href="https://gitlab.com/" rel="external nofollow">gitlab.com</a> или <a href="http://github.com" rel="external nofollow"><span>github</span><span>.</span><span>com</span></a>. Таким образом вы для себя создаете хранилище для кода. Данные сервисы позволяют просмотреть историю проекта, подключить новых разработчиков к своему проекту или исключить старых, тем самым вам больше не придется каждый раз менять доступы от вашего продакшен сервера где хостится сайт.<br>
	Список коммитов будет выгледеть примерно так<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543077" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.2a04f97e8ee0c19ff603d2086f31ca13.png" rel=""><img alt="image.thumb.png.b3467dad86104bafb810165075758415.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543077" data-ratio="59.40" style="width:500px;height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.b3467dad86104bafb810165075758415.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	Далее кликаем по интересуещму вас комиту и видим какие файлы и строки были удалены, а какие добавлены изменени<br>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="543079" href="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.99bcdc31ee545a24a804936e588d9a39.png" rel=""><img alt="image.thumb.png.4c39dabe9adabfa0be84b87e1f00910a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543079" data-ratio="59.40" style="width:500px;height:auto;" width="1000" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.thumb.png.4c39dabe9adabfa0be84b87e1f00910a.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"></a><br>
	<br>
	Так же git защищает от человеского фактора и серьезных ошибок, Если что-то попало в коммит или, тем более, на git-сервер, разработчику придется очень сильно постараться, чтобы это стереть. На самом деле, Git защищает даже не попавшие в коммиты данные, например, запрещая делать слияния при «грязном» состоянии репозитория (когда есть непроиндексированные изменения в рабочей области). Другими словами, это отличная защита от дурака, которая поможет вам случайно не потерять результаты работы.<br>
	<br>
	К тому же, когда что-то сделано неправильно, причем, сделано неправильно на «боевом» сервере, то, благодаря своей производительности, git позволит очень быстро откатиться на стабильную версию и без спешки разобраться с проблемой, перенеся ее на тестовый сервер.<br>
	<br>
	Предвижу в комметарих, что гит это для командной работы. Я так не считаю, но должен согласиться с тем, что система контоля версий изначально были созданы именно для командной работы.<br>
	<br>
	Если совсем просто, то с Git пропадает всякий бред типа в скайпе писать «не трогай style.css, сейчас я его правлю». Один и тот же файл могут редактировать разные разработчики одновременно, сперва делая его копию себе в локальный репозиторий (проще говоря, на компьютер), затем сливая свои изменения вместе.<br>
	<br>
	<strong>Как выгледит простекйший процесс разработки </strong><br>
	<br>
	<img alt="image.png.684ce8ba8f899c9b2f80628e1e07cd1b.png" class="ipsImage ipsImage_thumbnailed" data-fileid="543092" data-ratio="51.41" style="height:auto;" width="603" data-src="https://opencartforum.com/storage/attachment/monthly_2020_05/image.png.684ce8ba8f899c9b2f80628e1e07cd1b.png" src="https://opencartforum.com/applications/core/interface/js/spacer.png"><br>
	<br>
	Напомню, мы сейчас рассматриваем ситуацию только со стороны заказчика. Так будет выглядеть работа при правильно настроенном Git. Попросить настроить Git вы можете своего разработчика
</p>

<p>
	1) Вы ставите задачу разработчику.
</p>

<p>
	2) Разработчик выполняет ее локально или вживую прямо на своем или вашем тестовом сервере. Вы проверяете результат на тестовом сервере, принимаете работу.
</p>

<p>
	3) Разработчик создает коммит, соответствующий задаче и перемещает его на ваш репозиторий в git и делает слияние веток.
</p>

<p>
	4) Вы заходите на свой сервер и подтягиваете результат с помощью простейших команд<br>
	cd /path/to/you/site<br>
	git pull<br>
	<br>
	И все на вашем сайте будут при менены изменение, и нет никаких задержек в обновлении, нет никаких выводом масива данных вар дампов и прочего которые могут выводить разработчики при работе с сайтом на 'на живую'.<br>
	<br>
	Как итог уважаемые разработчики, не стесняйтесь вносить иновации для ваших клинетов, они будут благодарны, когда вы уделите 20 минут и объесните клиенту для чего это и почему так удобно, и давайте сделаем  разработку удобной и повысим качество кода во всех дополнениях.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">324</guid><pubDate>Sun, 10 May 2020 20:42:00 +0000</pubDate></item></channel></rss>
