Что это и зачем
Система контроля версий хранит историю изменений вашего проекта. Каждое сохранение — снимок состояния, к которому можно вернуться.
Зачем это новичку прямо сейчас:
- Не страшно менять код. Сломали — вернулись назад.
- Видно, что вы делали. История изменений в репозитории — то, на что смотрят работодатели.
- Без неё нельзя работать с людьми. Совсем.
Как устроено, если совсем просто
Три места, где живут ваши изменения:
- Рабочая папка — файлы, которые вы редактируете.
- Область подготовки — то, что вы отметили для следующего сохранения.
- История — сохранённые снимки.
Изменили файл — он в первой. Отметили — во второй. Сохранили — попал в третью.
Отдельно есть удалённый репозиторий: копия истории на сервере, куда вы отправляете свои изменения.
Десять команд на каждый день
Начать отслеживать проект:
git init
Посмотреть, что изменилось:
git status
Отметить файлы для сохранения:
git add имя_файла
git add .
Сохранить:
git commit -m "добавил проверку суммы в форме"
Посмотреть историю:
git log --oneline
Подключить удалённый репозиторий:
git remote add origin адрес
Отправить изменения:
git push
Забрать чужие изменения:
git pull
Создать ветку и перейти в неё:
git checkout -b имя-ветки
Вернуться к сохранённому состоянию файла:
git checkout -- имя_файла
Этих десяти хватает на первые месяцы.
Что не надо отслеживать
Заведите файл со списком игнорируемого и внесите туда:
- папки с установленными библиотеками;
- виртуальное окружение;
- файлы с паролями и ключами;
- служебный мусор редактора и системы;
- файлы сборки.
Особенно важен третий пункт. Ключ, попавший в историю, считается раскрытым навсегда: даже если удалить его следующим сохранением, он остаётся в истории.
Типичные ошибки новичков
Одно сохранение на весь проект. Вся работа за месяц одним махом — история бесполезна.
Сохранения по расписанию, а не по смыслу. Сохранять надо законченный кусок работы, а не «конец дня».
Отслеживание всего подряд. Репозиторий на двести мегабайт, где код занимает один процент.
Работа только в главной ветке. Пока вы один, это терпимо. С людьми — нет.
Что освоить следующим
Ветки и слияние. Как только вы поймёте, зачем нужны ветки, работа в команде перестанет быть загадкой — а без командного опыта на собеседовании тяжело.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Working as a team: branches, merges and conflictsHow collaborative work on code is arranged, why branches exist, how to resolve conflicts and stay out of each other's way.
- Работа в команде: ветки, слияния и конфликтыКак устроена совместная работа над кодом, зачем нужны ветки, как разрешать конфликты и не мешать друг другу.
- Fixing mistakes in your history without breaking thingsWhat to do when you committed the wrong thing, forgot a file, wrote a bad message, or pushed a password.