Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Best practice

  • записи
    2
  • коментарів
    76
  • переглядів
    4 079

Git и Deploy web приложение


stickpro

6 423 перегляди

За долгое время работы над сайтами над opencart не один клиент не пришел со своим магазином который имел бы систему контроля версий.
Это же в разы упрощает работу, как для разработчиков так и для клиентов. Немного теории и для чего это нужно.
Git это распрастроненная система котроля версий, которая позволяет хранить все слепки(снимки) кода. Тоесть это + и для клиента, он видит за что платит и в каких файлах были внесены изменения, и кто внес эти изменения, тоесть не будет уже такого, вот кто-то зашел на наш сервер и внес изменения и что то сломалось. Для разработчика это легкий способ развернуть исправить и залить на сервер. Снимая с себя ответсвенность за других разработчиков.
Тоесть git позволяет навести порядок у себя в голове и в своем магазине, блоге, приложении не важно.Почему большинство разработчиков и владельцев магазинов не использует для меня пока загадка.


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


Для начала просто заведите аккаунт на одном из бесплатных gitlab.com или github.com. Таким образом вы для себя создаете хранилище для кода. Данные сервисы позволяют просмотреть историю проекта, подключить новых разработчиков к своему проекту или исключить старых, тем самым вам больше не придется каждый раз менять доступы от вашего продакшен сервера где хостится сайт.
Список коммитов будет выгледеть примерно так
image.thumb.png.b3467dad86104bafb810165075758415.png

Далее кликаем по интересуещму вас комиту и видим какие файлы и строки были удалены, а какие добавлены изменени
image.thumb.png.4c39dabe9adabfa0be84b87e1f00910a.png

Так же git защищает от человеского фактора и серьезных ошибок, Если что-то попало в коммит или, тем более, на git-сервер, разработчику придется очень сильно постараться, чтобы это стереть. На самом деле, Git защищает даже не попавшие в коммиты данные, например, запрещая делать слияния при «грязном» состоянии репозитория (когда есть непроиндексированные изменения в рабочей области). Другими словами, это отличная защита от дурака, которая поможет вам случайно не потерять результаты работы.

К тому же, когда что-то сделано неправильно, причем, сделано неправильно на «боевом» сервере, то, благодаря своей производительности, git позволит очень быстро откатиться на стабильную версию и без спешки разобраться с проблемой, перенеся ее на тестовый сервер.

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

Если совсем просто, то с Git пропадает всякий бред типа в скайпе писать «не трогай style.css, сейчас я его правлю». Один и тот же файл могут редактировать разные разработчики одновременно, сперва делая его копию себе в локальный репозиторий (проще говоря, на компьютер), затем сливая свои изменения вместе.

Как выгледит простекйший процесс разработки

image.png.684ce8ba8f899c9b2f80628e1e07cd1b.png

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

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

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

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

4) Вы заходите на свой сервер и подтягиваете результат с помощью простейших команд
cd /path/to/you/site
git pull

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

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

 

  • +1 6

27 коментарів


Recommended Comments



В 16.06.2020 в 05:30, magecode сказал:

Люди пользующие фтп будут вариться в отдельном котле. Особенно те кто пользуют фтп вместе с гитом.
Но в рамках best practice = customer -> dev -> х*к-х*к и в -> production это скорей всего допустимо. :-D

Git круто для командной разработки, а если один разработчик - то гит это оверхед.

Где и что вносил и как работает - он и так знает. И кроме него никто изменения не вносил, значит конфликтов в строчках кода не будет и разруливать гитом нечего. 

Если придет новый разраб и захочет юзать гит, та пожалуйста - скопировал проект, сделал гит и юзай. Дело вкуса. 

 

Надіслати
12 часов назад, niger сказал:

а если один разработчик - то гит это оверхед.

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

Надіслати

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.