Что такое Git и почему я этого хочу? - PullRequest
3 голосов
/ 06 декабря 2010

Я довольно новичок в программировании, но я чувствую, что у меня это получается, и я пытаюсь выучить как можно больше. Я продолжаю читать, что Git абсолютно необходим для программирования, но я не могу понять, что он на самом деле делает . Google тоже не хочет мне об этом говорить. На сайте говорится, что это «распределенная система контроля версий». Э ... да?

Может ли кто-нибудь объяснить новичку, что это за вещь и почему она так важна?

Ответы [ 5 ]

5 голосов
/ 06 декабря 2010

На сайте написано, что это «распределенная система контроля версий».

Давайте начнем с идеи системы контроля версий . Это именно то, что говорится - это способ хранить и управлять различными версиями чего-либо. Это чрезвычайно важно в программировании, потому что проект будет меняться много, много раз по мере его разработки, и часто будет полезно иметь доступ к более чем текущей версии. Это также будет изменено несколькими людьми; должен быть какой-то способ объединить все изменения.

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

Система контроля версий будет разумно отслеживать всю вашу историю и позволит вам просматривать эту историю, видеть все об изменениях: что они были, кто их сделал и почему. Чуть более сложный, они часто будут иметь некоторое представление о ветвлении (создание расходящихся линий развития, возможно, для нескольких разработчиков) и слиянии (объединение этих ветвей). Большинство систем контроля версий также предоставляют много функциональных возможностей более высокого уровня. Просто для одного примера, в git есть инструмент «bisect», который позволит вам выполнить бинарный поиск по вашей истории, чтобы найти, когда была обнаружена конкретная ошибка. Аккуратные вещи.

Существует две широкие классификации управления версиями: централизованная и распределенная . В централизованной системе существует один центральный репозиторий. Он содержит всю историю проекта, и любой, кто хочет взаимодействовать с этой историей, должен пройти через этот центральный репозиторий. Распределенная система, такая как git, с другой стороны, дает всем эту историю. Каждый разработчик получит копию (называемую клоном в git) хранилища, которая полностью самодостаточна. Нет необходимости взаимодействовать с общедоступным центральным репозиторием, за исключением практического использования, способа публикации контента для других пользователей. Это значительно упрощает одновременную работу над одним проектом несколькими людьми, возможно, без доступа к Интернету, а также дает каждому из них всю мощь системы контроля версий в своем собственном хранилище, а не в ограниченном количестве пользователей. функциональность центрального хранилища.

Чтобы получить отличное качественное прочтение о том, как вы получите такую ​​систему, как git, начните с основ желаний запомнить историю, попробуйте притчу о git .

Для получения более общей информации по теме, попробуйте википедию: контроль версий .

3 голосов
/ 06 декабря 2010

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

Git - система контроля версий- он управляет патчами или наборами изменений между разными версиями одного и того же файла.Проще всего думать об этом как об альтернативе наличию четырех файлов в папке с именами my_file, my_file_test, my_file_test2 и my_file_retired20030411 вместе с файлом с именем my_file_changes.log, где вы записываете изменения между каждым изчетыре версии файла, и почему вы их изменили.(Хотя Git намного больше, чем это.)

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

И Git - это даже больше, чем ...

1 голос
/ 06 декабря 2010

посмотрите, что скажет Линус Торвальд о мерзавце смекалка (серия Google Tech Talks)

это так, Линус: «Я очень циничный и недоверчивый человек, я думаю, что большинство из вас совершенно некомпетентны». - в комнату, полную Googlers

1 голос
/ 06 декабря 2010

Здесь есть введение в Git для неофита:

http://articles.sitepoint.com/article/version-control-git

1 голос
/ 06 декабря 2010

Начало в Википедии: git .

В основном системы контроля версий помогают вам управлять и организовывать программные проекты, отслеживая различные файлы. Они позволяют вам «отступать во времени» и получать по требованию любую более старую версию файла, создавать несколько параллельных «веток» для таких вещей, как исправление ошибок, разработка функций и т. Д.

Они классные, и git кажется отличным примером системы контроля версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...