SlideShare a Scribd company logo
1 of 32
Download to read offline
Работа с git и github -
советы новичкам🤘
Анатолий Федоренко
Backend Developer , Mad Devs
t.me/anatoliyfedorenko
maddevs.io
Если стажер не умеет пользоваться гитом, то это
говно (с) Чак
Этот доклад НЕ
➔ курс по гиту
➔ обязательные требования к выполнению
➔ единственно верное решение
➔ истина в последней инстанции
➔ попытка самоутвердиться
➔ крик души (но это не точно...)
С чего начать …
- Не понимаю что
делать. Тупик
- Откуда берутся эти
конфликты
- Запуталась в ветках и
коммитах
- А сколько коммитов в
день нужно делать?
С чего начать …
- Что-то сделал и не знаю как вернуться
- Как фиксить чертовы конфликты!?
- Столько команд, их все не запомнить!
- Коммитить или не коммитить...
С чего надо действительно начать …
● Размер имеет значение
● В задаче должно быть название, описание
проблемы и критерий закрытия
● Стоит максимально мелко дробить задачи
Немного о задачах
● Не забывать про тесты (как проверить, что
выполнил критерий закрытия)
● Тэгать задачу в коммитах, других задачах, PRах,
документации
● Исполняющий и дедлайны
● Учёт времени
Немного о задачах
Git введение
● Git это система контроля версий
● Нужно помнить что есть local и remote
● Коммиты это фиксирование изменений кода
● Пишем код, коммитим, пушим, пулим и так по
кругу
● Если разработка ведется в команде …
Из чего же, из чего же, из чего же …
● Изменения кода
● Название (Header)
● Описание (Body)
● Много другой инфы, которая в рамках этого
доклада не рассматривается
Из чего же: изменения кода
● Изменения кода которые направлены на
закрытие задачи
● Тесты, которые подтверждают
работоспособность изменений
● Обновление документации, если требуется
Из чего же: изменения кода
● Расставление всяческих заметок и комментов в
процессе (TODO:)
● Размер имеет значение!
● Правило бойскаута! (Оставляем чище, чем было
до нас! )
Из чего же: название
● Уложиться в 50 символов
● Писать в настоящем времени , как бы
продолжая фразу “This commit will …“ т.е. коммит
выражает намерение, а не завершенное
действие.
● Упоминать номер тикета к которому относится
коммит и его изменения.
Из чего же: описание
● Уложиться в 72 символа в ширину
● Написать зачем нужен коммит
● Использовать списки, перечисляя изменения и
их причины
Из чего же: описание
● Использовать теги
● Не сочинение, но должно быть ясно расписано,
чтобы не было проблем с пониманием
Потенциал систем управления репками
● Создание и управление тикетами
● Учёт времени работы над задачей
● Дедлайны и тэги в тикетах
Потенциал систем управления репками
● Отмечайте проверяющих МРы!
● Автомерж, слияние и удаление веток
Обычный Git workflow который работает
1. Пулиться с мастера и мержить ветки в мастер
2. Новая ветка на новый тикет
3. Пуш в мастер только через MR(PR)
Git негласные правила
Перед тем как коммитить - обязательно тестируй!
Перед пушем, обязательно убедись, что все на
местах (git status)
Позаботься о .gitignore файле
Git негласные правила
Бренчуйся с мастера и мержи в мастер
Не форспуш в мастер!
Не пуш токены и любой компромат!
Полезные ресурсы
git-scm.com
guides.github.com
learnenough.com
codecademy.com
ohmyz.sh
ohshitgit.com

More Related Content

What's hot

Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionAlexei Lupan
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9OdessaFrontend
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...Sergey Ponomarev
 
автоматизация тестирования огурцом
автоматизация тестирования огурцомавтоматизация тестирования огурцом
автоматизация тестирования огурцомVadim Glebov
 
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Rina Uzhevko
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниораRina Uzhevko
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
 
Так говорят программисты
Так говорят программистыТак говорят программисты
Так говорят программистыprigarov
 
QAradise, Евгений Сабиров, Хост
 QAradise, Евгений Сабиров, Хост  QAradise, Евгений Сабиров, Хост
QAradise, Евгений Сабиров, Хост it-people
 
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"Provectus
 
Зачем нужно уметь программировать?
Зачем нужно уметь программировать?Зачем нужно уметь программировать?
Зачем нужно уметь программировать?Michael Akimov
 
QA Club Kiev #2 Vision of TL and PM
QA Club Kiev #2 Vision of TL and PMQA Club Kiev #2 Vision of TL and PM
QA Club Kiev #2 Vision of TL and PMQA Club Kiev
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всемSQALab
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование ForkSergey Oreshkov
 
Андрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаАндрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаYandex
 
Простой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипедПростой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипедSQALab
 
Грабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахГрабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахSQALab
 
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектураПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектураPavel Shalagin
 

What's hot (19)

Slides
SlidesSlides
Slides
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 
автоматизация тестирования огурцом
автоматизация тестирования огурцомавтоматизация тестирования огурцом
автоматизация тестирования огурцом
 
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниора
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехнике
 
Так говорят программисты
Так говорят программистыТак говорят программисты
Так говорят программисты
 
QAradise, Евгений Сабиров, Хост
 QAradise, Евгений Сабиров, Хост  QAradise, Евгений Сабиров, Хост
QAradise, Евгений Сабиров, Хост
 
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
 
Зачем нужно уметь программировать?
Зачем нужно уметь программировать?Зачем нужно уметь программировать?
Зачем нужно уметь программировать?
 
QA Club Kiev #2 Vision of TL and PM
QA Club Kiev #2 Vision of TL and PMQA Club Kiev #2 Vision of TL and PM
QA Club Kiev #2 Vision of TL and PM
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всем
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование Fork
 
Андрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаАндрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
 
Простой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипедПростой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипед
 
Грабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахГрабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибках
 
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектураПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
ПиАПС, Лекция №1а - Роль архитектора, гибкая архитектура
 

Similar to Git and Github for Beginners

Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADDSergey Staroletov
 
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тест
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тестКурсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тест
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тестKirill Bushev
 
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...corehard_by
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java DeveloperOlexandra Dmytrenko
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обученияДмитрий Колодезев
 
Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)Alexey Rybak
 
Способы расширения зоны влияния вашей системы автотестов
Способы расширения зоны влияния вашей системы автотестовСпособы расширения зоны влияния вашей системы автотестов
Способы расширения зоны влияния вашей системы автотестовSQALab
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним боротьсяВладимир Кожаев
 
mirror world of software development
mirror world of software developmentmirror world of software development
mirror world of software development0xffAA
 
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...Ontico
 
Профилирование кода на C/C++ в *nix системах
Профилирование кода на C/C++ в *nix системахПрофилирование кода на C/C++ в *nix системах
Профилирование кода на C/C++ в *nix системахAleksander Alekseev
 
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...Netpeak
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Alexander Gornik
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12HappyDev
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыryba4
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
 

Similar to Git and Github for Beginners (20)

Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADD
 
Ivan p
Ivan pIvan p
Ivan p
 
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тест
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тестКурсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тест
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тест
 
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обучения
 
Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)
 
Способы расширения зоны влияния вашей системы автотестов
Способы расширения зоны влияния вашей системы автотестовСпособы расширения зоны влияния вашей системы автотестов
Способы расширения зоны влияния вашей системы автотестов
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним бороться
 
mirror world of software development
mirror world of software developmentmirror world of software development
mirror world of software development
 
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...
Профилирование кода на C/C++ в *nix-системах / Александр Алексеев (Postgres P...
 
Профилирование кода на C/C++ в *nix системах
Профилирование кода на C/C++ в *nix системахПрофилирование кода на C/C++ в *nix системах
Профилирование кода на C/C++ в *nix системах
 
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...
Теория ограничений в работе и жизни. Как стать системным мыслителем и решать ...
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
запахи кода
запахи кодазапахи кода
запахи кода
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном мире
 

More from Mad Devs

Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...Mad Devs
 
Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество Mad Devs
 
Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101. Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101. Mad Devs
 
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.Mad Devs
 
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy FedorenkoMad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy FedorenkoMad Devs
 
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Devs
 
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMaв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMad Devs
 
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоЛайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоMad Devs
 
Mad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrainMad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrainMad Devs
 
Flutter vs Native App Development
Flutter vs Native App DevelopmentFlutter vs Native App Development
Flutter vs Native App DevelopmentMad Devs
 
Mad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companiesMad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companiesMad Devs
 
The paradox of choice in design
The paradox of choice in designThe paradox of choice in design
The paradox of choice in designMad Devs
 
How to hire freelancers
How to hire freelancersHow to hire freelancers
How to hire freelancersMad Devs
 
Ethereum blockchain
Ethereum blockchainEthereum blockchain
Ethereum blockchainMad Devs
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.Mad Devs
 
Asynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use itAsynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use itMad Devs
 
Ethereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактовEthereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактовMad Devs
 
Why we sleep. Michael Ivashenko
Why we sleep. Michael IvashenkoWhy we sleep. Michael Ivashenko
Why we sleep. Michael IvashenkoMad Devs
 
Удаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитикаУдаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитикаMad Devs
 
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
 Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к... Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...Mad Devs
 

More from Mad Devs (20)

Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
 
Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество
 
Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101. Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101.
 
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
 
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy FedorenkoMad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
 
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
 
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMaв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
 
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоЛайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
 
Mad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrainMad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrain
 
Flutter vs Native App Development
Flutter vs Native App DevelopmentFlutter vs Native App Development
Flutter vs Native App Development
 
Mad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companiesMad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companies
 
The paradox of choice in design
The paradox of choice in designThe paradox of choice in design
The paradox of choice in design
 
How to hire freelancers
How to hire freelancersHow to hire freelancers
How to hire freelancers
 
Ethereum blockchain
Ethereum blockchainEthereum blockchain
Ethereum blockchain
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
 
Asynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use itAsynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use it
 
Ethereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактовEthereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактов
 
Why we sleep. Michael Ivashenko
Why we sleep. Michael IvashenkoWhy we sleep. Michael Ivashenko
Why we sleep. Michael Ivashenko
 
Удаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитикаУдаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитика
 
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
 Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к... Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
 

Git and Github for Beginners

  • 1. Работа с git и github - советы новичкам🤘 Анатолий Федоренко Backend Developer , Mad Devs t.me/anatoliyfedorenko maddevs.io
  • 2. Если стажер не умеет пользоваться гитом, то это говно (с) Чак
  • 3.
  • 4. Этот доклад НЕ ➔ курс по гиту ➔ обязательные требования к выполнению ➔ единственно верное решение ➔ истина в последней инстанции ➔ попытка самоутвердиться ➔ крик души (но это не точно...)
  • 5. С чего начать … - Не понимаю что делать. Тупик - Откуда берутся эти конфликты - Запуталась в ветках и коммитах - А сколько коммитов в день нужно делать?
  • 6. С чего начать … - Что-то сделал и не знаю как вернуться - Как фиксить чертовы конфликты!? - Столько команд, их все не запомнить! - Коммитить или не коммитить...
  • 7.
  • 8. С чего надо действительно начать …
  • 9. ● Размер имеет значение ● В задаче должно быть название, описание проблемы и критерий закрытия ● Стоит максимально мелко дробить задачи Немного о задачах
  • 10.
  • 11. ● Не забывать про тесты (как проверить, что выполнил критерий закрытия) ● Тэгать задачу в коммитах, других задачах, PRах, документации ● Исполняющий и дедлайны ● Учёт времени Немного о задачах
  • 12.
  • 13. Git введение ● Git это система контроля версий ● Нужно помнить что есть local и remote ● Коммиты это фиксирование изменений кода ● Пишем код, коммитим, пушим, пулим и так по кругу ● Если разработка ведется в команде …
  • 14. Из чего же, из чего же, из чего же … ● Изменения кода ● Название (Header) ● Описание (Body) ● Много другой инфы, которая в рамках этого доклада не рассматривается
  • 15. Из чего же: изменения кода ● Изменения кода которые направлены на закрытие задачи ● Тесты, которые подтверждают работоспособность изменений ● Обновление документации, если требуется
  • 16. Из чего же: изменения кода ● Расставление всяческих заметок и комментов в процессе (TODO:) ● Размер имеет значение! ● Правило бойскаута! (Оставляем чище, чем было до нас! )
  • 17. Из чего же: название ● Уложиться в 50 символов ● Писать в настоящем времени , как бы продолжая фразу “This commit will …“ т.е. коммит выражает намерение, а не завершенное действие. ● Упоминать номер тикета к которому относится коммит и его изменения.
  • 18. Из чего же: описание ● Уложиться в 72 символа в ширину ● Написать зачем нужен коммит ● Использовать списки, перечисляя изменения и их причины
  • 19. Из чего же: описание ● Использовать теги ● Не сочинение, но должно быть ясно расписано, чтобы не было проблем с пониманием
  • 20.
  • 21. Потенциал систем управления репками ● Создание и управление тикетами ● Учёт времени работы над задачей ● Дедлайны и тэги в тикетах
  • 22.
  • 23.
  • 24. Потенциал систем управления репками ● Отмечайте проверяющих МРы! ● Автомерж, слияние и удаление веток
  • 25.
  • 26. Обычный Git workflow который работает 1. Пулиться с мастера и мержить ветки в мастер 2. Новая ветка на новый тикет 3. Пуш в мастер только через MR(PR)
  • 27. Git негласные правила Перед тем как коммитить - обязательно тестируй! Перед пушем, обязательно убедись, что все на местах (git status) Позаботься о .gitignore файле
  • 28.
  • 29. Git негласные правила Бренчуйся с мастера и мержи в мастер Не форспуш в мастер! Не пуш токены и любой компромат!
  • 30.
  • 31.