Терминология, используемая Git [закрыто]

похоже, что я должен научиться использовать git. Что, наверное, хорошо (TM). Однако, читая онлайн-руководства и справочные страницы, я просто не могу понять терминологию. Все всегда определяется в терминах самих себя или других необъяснимых терминов (выполните "man git", и вы поймете, что я имею в виду).

Итак, существует ли более похожая на DAG структура определений терминов, включая некоторые из следующих (все взято со страниц руководства git!). Возможно, используя файловую систему в качестве отправной точки, и не предполагая, что читатель хорошо разбирается в svn (а я - нет).

  • репозиторий
  • репозиторий
  • git
  • "the git"
  • индекс
  • клон
  • фиксация
  • ветвь
  • дерево
  • восходящий поток
  • заголовок
  • HEAD
  • версия
  • тег
  • архив
  • патч
  • отправка
  • набор изменений
  • stash
  • архив
  • объект
  • модуль
  • подмодуль
  • refspec
  • история

Хотя я могу найти объяснения для некоторых, обычно они связаны с другой. Также некоторые другие термины, которые я знаю из других контекстов (например, различие в UNIX). Однако некоторые другие, я думал, что знаю ...

Я понял, что есть репозитории (похожие на gits? И / или деревья? Вверх по течению?), Которые вы копируете (клон? Ветвь?), Чтобы физически доставить файлы на ваш жесткий диск. Затем есть ветки (похожие на ревизии?), Теги и коммиты (похожие на патчи?), Но их различие неясно. Какие файлы что модифицируют? Что заставляет мои файлы оставаться локальными и что может (не дай бог) отправить мой код в Интернет?

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

// T, прикусив язык, чтобы контролировать свое разочарование ...

57
задан The Apa 16 August 2011 в 09:32
поделиться