Skip to content

Latest commit

 

History

History
19 lines (10 loc) · 4.43 KB

introduction.md

File metadata and controls

19 lines (10 loc) · 4.43 KB

Вступление

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

Чтобы решать эти все проблемы программисты придумали системы констроля версий. их было довольно много, однако сейчас почти все вмерли, а жив git, пользоваться которым мы вас и будем учить. Вероятнее всего, когда вы вырастете в болших программистов и пойдёте на работу, вам так же придётся работать с гитом.

Git

Репозиторий (хранилище кода) в гите похож на дерево: существует множество веток (branch), в каждой из которых хранится какая-то версия кода. Все ветки растут из главной — ствола (master, main, trunc), в котророй хранится основная версия кода. В ветку разработчик может делать коммиты (фиксации, commits). Каждый коммит содержит информацию о том, какие изменения внёс программист относительно предыдущего коммита.

Обычно программисты пишут код в отдельной ветке, а потом вливают (merge) изменения из этой ветки в другую. Это необходимо, если мы хотим избежать трудностей, связанных с синхронизацией кода у разных людей. Если в одну и ту же ветку одновременно попытаются внести изменения несколько человек, не выйдет ничего хорошего. Далее про ветки и работу с ними мы расскажем подробнее.

Обычно в репозиториях есть ветка master, а все остальные ветвятся от неё, одноко в больших репозиториях крупных проектов может быть более сложная структура. Например есть ветка master, где находится последняя стабильная версия продукта, есть ветка develop, от которой разработчики ветвятся, создавая отдельную ветку для каждой фичи, если фича крупная и требует работы нескольких человек, могут ветвиться от ветки созданной спецаильно для этой фичи, ответвлённой от develop.

Github

Для организации коллективной работы с репозиторием надо использовать какой-то хостинг для удалённых (remote) репозиториев. Мы научим вас пользоваться гитхабом, хотя на самом деле их полно и можно даже поднять свой.

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