Управление версиями Git
Linux
Git
Git — это бесплатная распределенная система управления версиями с открытым исходным кодом, предназначенная для быстрой и эффективной обработки любых проектов, от небольших до очень крупных.
Git легко освоить , он занимает мало места и обладает молниеносной производительностью . Он превосходит инструменты SCM, такие как Subversion, CVS, Perforce и ClearCase, благодаря таким функциям, как дешевое локальное ветвление , удобные промежуточные области и несколько рабочих процессов .
Ветвление и слияние
(Именно это даёт Git преимущество перед другими системами контроля версий)
Функция Git, которая действительно отличает его от почти всех других SCM, — это его модель ветвления.
Git позволяет и поощряет наличие нескольких локальных веток, которые могут быть полностью независимыми друг от друга. Создание, слияние и удаление этих линий развития занимает секунды.
Это означает, что вы можете делать такие вещи, как:
Беспрепятственное переключение контекста . Создайте ветку, чтобы опробовать идею, зафиксируйте несколько раз, вернитесь туда, откуда вы разветвились, примените патч, вернитесь туда, где вы экспериментируете, и объедините его. Кодовые линии на основе ролей . Имейте ветку, которая всегда содержит только то, что идет в производство, другую, в которую вы объединяете работу для тестирования, и несколько меньших веток для повседневной работы. Рабочий процесс на основе функций . Создавайте новые ветки для каждой новой функции, над которой вы работаете, чтобы вы могли легко переключаться между ними, а затем удаляйте каждую ветку, когда эта функция объединяется с вашей основной линией. Одноразовые эксперименты . Создайте ветку для экспериментов, поймите, что она не будет работать, и просто удалите ее, отказавшись от работы, и никто больше ее не увидит (даже если вы за это время нажали другие ветки). ветви
Примечательно, что при отправке в удаленный репозиторий вам не нужно отправлять все ваши ветки. Вы можете поделиться только одной из своих ветвей, несколькими из них или всеми. Это, как правило, позволяет людям пробовать новые идеи, не беспокоясь о том, что им нужно планировать, как и когда они собираются объединить их или поделиться ими с другими.
Есть способы сделать это с помощью других систем, но эта работа намного сложнее и подвержена ошибкам. Git делает этот процесс невероятно простым и меняет способ работы большинства разработчиков, когда они его изучают.