Я, честно говоря, не понимаю семантику здесь. Все они касаются копий / вариантов единицы кода + истории, но я не уверен, что могу сказать о прошлом. Объясняется ли где-нибудь эта логическая структура?
Я, честно говоря, не понимаю семантику здесь. Все они касаются копий / вариантов единицы кода + истории, но я не уверен, что могу сказать о прошлом. Объясняется ли где-нибудь эта логическая структура?
Ответы:
Репозиторий - это просто место, где хранится история вашей работы. Он часто находится в .git
подкаталоге вашей рабочей копии - копии самого последнего состояния файлов, над которыми вы работаете.
Чтобы разветвить проект (взять исходный код из чьего-либо репозитория в определенный момент времени и применить к нему свои собственные расходящиеся изменения), вы должны клонировать удаленный репозиторий, чтобы создать его копию, затем выполнить свою работу в локальном репозитории и зафиксировать изменения.
В репозитории у вас есть ветки, которые фактически являются ветвями внутри вашего собственного репозитория. Ваши ветки будут иметь предковую фиксацию в вашем репозитории и будут отличаться от этой фиксации с вашими изменениями. Позже вы можете объединить изменения вашей ветки. Филиалы позволяют работать с несколькими разнородными функциями одновременно.
Вы также можете отслеживать отдельные ветки в удаленных репозиториях. Это позволяет вам извлекать изменения из веток другого человека и объединять их в свою собственную ветку. Это может быть полезно, если вы и ваш друг вместе работаете над новой функцией.
В Интернете есть много отличных книг по git. Для начала ознакомьтесь с ProGit и Git Magic , а также с официальными руководствами и книгой сообщества.
Я собираюсь ответить на свой вопрос с помощью RTFM.
Но прочтите это прекрасное руководство. Как выразился автор:
«Из этого я делаю вывод, что вы действительно можете использовать Git, только если понимаете, как работает Git. Простое запоминание того, какие команды вы должны запускать в какое время, сработает в краткосрочной перспективе, но это только вопрос времени, когда вы застрянете или, что еще хуже, что-то сломаете.
«К сожалению, половина существующих ресурсов Git использует именно такой подход: они показывают, какие команды и когда запускать, и ожидают, что у вас все будет хорошо, если вы просто имитируете эти команды. Другая половина действительно рассматривает все концепции, но, судя по тому, что я видел, они объясняют Git таким образом, чтобы вы уже понимали, как работает Git ».
Этот GoogleTechTalk - фантастическое введение в Git, чтобы узнать, что на самом деле происходит за кулисами, а также изучить язык. Он был предоставлен одним из первых участников Git, и он выступил с этим докладом в 2007 году как способ введения в Git. Если вы посмотрите этот доклад, вы не только узнаете, что такое каждое слово, например репозиторий, вилка, ветвь и т. Д., Но также узнаете, что происходит за кулисами, когда каждое из этих слов создается, объединяется и т. Д.
Адрес длинный, но очень информативный. Он также отличает Git от других систем контроля версий, поэтому вы можете понять, почему Git был создан таким, каким он был, и каковы его сравнительные преимущества перед другими системами управления. Несмотря на то, что разговор старый, очень полезно встать и работать. Я бы посмотрел это, прежде чем прыгать в руководства. Я считаю, что в результате все будет иметь гораздо больший смысл.