Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GIT: как НЕ надо делать

GIT: как НЕ надо делать

Вредные советы по гиту
Максим Кашкин, 24 июля 2018 года

Evgeny E. Neverov

July 26, 2018
Tweet

More Decks by Evgeny E. Neverov

Other Decks in Programming

Transcript

  1. Правильный порядок действий 1. Скопировать 2. Сделать коммит, с комментарием,

    что это скопированные файлы 3. Внести правки 4. Сделать второй коммит, в котором будет видно, что поправлено относительно скопированного
  2. Одна задача одна ветка Название ветки - номер задачи без

    # плюс ее суть. Можно транслитом, если инглиш каин шпрахе Каждый раз перед созданием новой ветки убедитесь, что кто-то уже не создал ее за вас. Поищите в бакете по номеру задачи в Branches без фильтра, и по active и по merged.
  3. Делайте git checkout master & git pull • Каждый раз

    перед мержем с ним • Перед выкладкой на бой • При создании новой ветки Если не забрать изменения из мастера, вы можете вести работу с неактуальным кодом. Сложно дебажить, проблемно сливать перед выкладкой.
  4. Пишите развернутый комментарий Постарайтесь кратко, но емко описать, что сделали.

    Если не получается, значит либо сделали хуйню и теперь стыдно об этом писать, либо неправильно сделали коммит (см. пп.5-6) Каждый комментарии типа “work in progress” уменьшает размер члена на 3,5 см.
  5. Не мешайте в одну кучу Один коммит должен отвечать за

    одно конкретное решение. Вы по задаче правили вывод новостей, а клиент попросил еще телефон поправить в шапке — сделайте два разных коммита: про новости отдельно, про телефон отдельно. Для этого во время коммита можно выбирать файлы, которые попадут в комит. А еще лучше — отправьте хитреца создавать отдельную задачу.
  6. Разбейте задачу Большие задачи не решаются за один присест. Разделите

    ее на логически связанные шаги, с раздельными коммитами.
  7. Такие как • Файл с авторизацией $USER->Authorize() • db_conn.php и

    .settings.php • Приватные ключи • Бэкапы и тяжёлые файлы • Иные данные, которые могут скомпрометировать безопасность
  8. Проверяйте коммит На соответствие всем этим правилам. В первую очередь

    — на наличие очень жирных файлов (хуй вычистишь) Затем на наличие приватных данных (логинов, паролей, ключей, db_conn) и на забытую отладку (в том числе лог-файлы). Еще обратить внимание на файлы кэша, которых быть не должно.
  9. Обязательно делать Если не будет переноса строки вы решите что-добавить,

    то при последующем коммите гит пометит бывшей последней строку как измененную