Заметки о Git
Некоторые заметки о сложной и важной системе.
- Сначала полезные ссылки по теме:
- Git Book - неплохо изложены основные положения.
- Очень хорошие статьи с подробным объяснением ряда основных моментов: 1, 2 и 3
- Видео с объяснением некоторых продвинутых вещей
- Документация GitHub, осбенно советую прочитать этот раздел- там много информации о работе с удаленными репозиториями.
- Полная документация
-
Для чего же нужен Git?
-
Git позвоялет сохранить состояние вашего проекта. Это дает Вам возможность понять, какие именно изменения были сделаны с момента последеней рабочей версии или перейти на какую либо версию проекта. Для маленьких проектов польза этого может быть и не столь заметна.
-
Механизм веток позволяет независимо работать над разными частями проекта.
-
Ваш локальный репозиторий можно связать с удаленными, и синхронизировать изменения между ними(т.е отправлять и получать новые коммиты, ветки итд).
-
2-й и 3-й пункты делают возможной относительно удобную командную разработку.
-
-
Важное свойство удаленных репозиториев:
Ветки на удаленном репозитории при синхронизации с локальным с помощью команды
git push
могут перемещаться только вперед (fast-forward), истинный merge недопустим, и git потребует от вас сделать этот merge локально с помощьюgit pull
. Также недопустим откат удаленной ветки назад, в том случае, если оный был совершен локально с помощьюgit reset
. -
Механизм подмодулей:
Помимо других применений, позволяет неплохо управлять зависимостями(устанавливать и обновлять библиотеки проекта) там, где такого механизма нет(C/С++).