Эта статья о системах контроля версий. Если вы еще ничего не знаете о них, вам следует прочитать «Глоссарий для Git и GitHub» и «Введение в системы контроля версий», чтобы понять терминологию и то, почему мы используем их в первую очередь.
Как выложить свой проект на GitHub.com
Если, как и я, вы решили освоить Git, у вас наверняка возникнет соблазн сделать свой проект общедоступным на GitHub.com.
Как новичку, мне было трудно понять, как установить связь между репозиториями. То есть, у нас есть набор файлов проекта в локальной сети. Нам нужно как-то загрузить их на Гитхаб. В принципе, это обычная копия, но в Git она работает не так очевидно. Помучившись несколько дней, я написал собственное пошаговое руководство для начинающих.
Два способа
Существует два способа общения с githab. Они совсем не очевидны для новичков. Самый важный вопрос — какой репозиторий githab использовать: совершенно пустой (не инициализированный) или уже используемый. Это задает два различных режима работы.
Первый режим подходит для уже инициализированных удаленных хранилищ. Чтобы подключить GitHub к локальной копии, необходимо сначала клонировать репозиторий GitHub как локальный репозиторий. Только после этого вы можете изменить локальный файл и отправить его в удаленный файл.
Второй метод используется для абсолютно пустого репозитория Github. Если у вас уже есть локальный репозиторий, вы можете вручную подключить его к githab без клонирования.
Регистрация на GitHub.com
Сначала вам нужно зарегистрироваться на сайте GitHub.com. Процесс прост, мы не будем на этом заморачиваться. После этого необходимо создать репозиторий. В поле «Имя репозитория» необходимо указать имя, которое в дальнейшем будет соответствовать директории проекта. Это удобно, хотя локальный каталог может быть произвольным. Назовем проект «Demo».
Это очень важный момент. Если вы отметите одну из опций (добавить .gitignore, лицензию и/или readme), репозиторий будет инициализирован. То есть, это уже не пустое хранилище, а полное и инициализированное. В этом случае вы должны сначала клонировать пульт, чтобы привязать его. Это первый метод.
Если вы не выберете никакой опции, Github создаст абсолютно пустой репозиторий без инициализации. Вы можете связать такое хранилище с существующим локальным хранилищем. Это второй метод.
После создания репозиторий получает уникальную ссылку, например: https://github.com/USER/demo.git — где USER — ваш логин на Гитхабе. Эта ссылка необходима для вашего проекта.
Теперь перейдите к терминалу и начните работу. Если вы хотите задать имя пользователя для всех репозиториев на вашем компьютере, введите:
Создание репозитория
Если вы никогда раньше не работали с github, вам нужно будет создать репозиторий для работы над проектом.
На главном экране GitHub Desktop выберите «Создать новый репозиторий на жестком диске».
Вам нужно будет ввести имя хранилища, его описание и выбрать папку на вашем компьютере для хранения файлов.
Затем нажмите Create Repository, подождите несколько секунд, и на вашем компьютере появится папка, которую вы можете использовать для развертывания вашего проекта.
Клонирование репозитория
Если у вас уже есть репозиторий на GitHub, вы можете клонировать его. Клонирование означает загрузку всех файлов на компьютер для их изменения, а затем их повторную загрузку.
Выбираем Add -> Репозиторий клонирования.
В открывшемся окне выберите один из доступных репозиториев. В данном случае он называется zaverstai, но вы можете использовать и другой репозиторий.
После этого загружаются файлы хранилища — если их много, это займет некоторое время.
Работа с репозиторием. Меняем файлы и сохраняем обратно
Независимо от того, создали вы репозиторий или клонировали его, вот как выглядит рабочий стол GitHub с открытым репозиторием, который мы еще не изменили.
С левой стороны находится поле для измененных файлов, а с правой стороны — служебная информация. Слева внизу находится поле для фиксации.
Для простоты клонированное хранилище — это просто каталог на вашем компьютере. Вы можете нажать «Показать в Finder» (Mac) или «Показать в Explorer» (Windows), и откроется папка со всеми файлами в хранилище.
Давайте добавим файл. Например, я добавил файл index.html в локальное хранилище (скопировав его в папку), который я взял отсюда. Вы можете загрузить файл с кодом вашего проекта или изменить существующий файл.
Сразу после добавления или изменения файла в окне рабочего стола GitHub можно увидеть, что изменилось — если мы добавили совершенно новый файл, все строки будут плюсовыми и зелеными. Это означает, что они были добавлены в файл, а рабочий стол GitHub их еще не видел.
В этом сообщении есть некоторые особенности, о которых стоит упомянуть. Он дает вам быструю статистику о различиях — количество изменений и список файлов, которые были изменены в этом запросе на слияние, ссылку на страницу запроса на слияние на GitHub, а также некоторые ссылки, которые вы можете использовать в командной строке.
Как создать новый репозиторий на GitHub
Далее необходимо создать репозиторий на GitHub.
Это очень просто. Нажмите кнопку «Новый» на главной странице:
Затем выберите имя для хранилища и укажите, должно ли оно быть частным или общедоступным. По желанию вы можете добавить файл README. Затем нажмите на кнопку «Создать хранилище».
Я назвал свой репозиторий practical-git-tutorial. Он содержит все шаги, описанные в данном руководстве, поэтому при необходимости вы можете использовать его в качестве справочника.
Как клонировать Git-репозиторий
Чтобы начать работу, нам нужно «клонировать» репозиторий. Клонирование означает заимствование всего кода проекта и метаданных из источника. В нашем случае источником является GitHub.
Чтобы клонировать хранилище, используйте команду git clone.
В примере я использовал URL только что созданного хранилища, а вам нужно заменить его на свой собственный.
Примечание: Команды, выполняемые в терминале, предваряются символом $.
Более подробно о Git-клоне мы поговорим позже. Пока что вы должны знать, что после выполнения этой команды проект будет загружен на ваш компьютер и помещен в отдельную папку в вашем текущем рабочем каталоге.
Перейдем в папку проекта (с помощью команды cd ):
Мы перешли в папку проекта (это обычная папка, как и все остальные). На вашем терминале может появиться слово (main) рядом с именем папки.
Ветки в Git
Наличие символа (main) рядом с именем папки означает, что мы находимся в ветке под названием main. Что такое филиал? Думайте о нем как о копии проекта в определенный момент времени, которая может быть изменена независимо от других веток.
Давайте рассмотрим пример. Если бы мы писали книгу, у нас могли бы быть следующие ветви:
- Основная ветвь
- ветвь оглавления
- глава 1 филиал
- глава 2 филиал
- и так далее.
Главная ветвь — это главная ветвь. Здесь мы объединяем все материалы в одну полную книгу.
Создавая дополнительные ветви, мы можем разделить нашу работу на столько частей, сколько захотим, а затем выполнять их по отдельности.
Допустим, я работаю над главой 1, а вы — над главой 2. Мы можем создать две разные ветви, Глава-1 и Глава-2, каждая из которых будет содержать отдельную копию текущего состояния книги.
Таким образом, мы могли работать отдельно над своими главами, не наступая друг другу на пятки и не рискуя случайно переписать то, что написал коллега. У каждого из нас будет своя рабочая копия.
Когда один из нас закончит работу в своей главе, он может вставить содержимое этой главы обратно в основную ветку. Когда мы оба закончим, и Глава 1, и Глава 2 будут существовать в основной ветке.
Несмотря на то, что я сказал, случается, что коллеги переписывают изменения, сделанные коллегами, или изменяют один и тот же кусок кода, а затем им приходится согласовывать различия. Но об этом подробнее позже.
Примечание. Главная ветвь может также называться master вместо main: это зависит от проекта. Разницы в функциональности нет.
Первый режим подходит для уже инициализированных удаленных хранилищ. Чтобы подключить GitHub к локальной копии, необходимо сначала клонировать репозиторий GitHub как локальный репозиторий. Только после этого вы можете изменить локальный файл и отправить его в удаленный файл.
Установка Git
Настройка Git в первый раз
Затем несколько раз нажмите Enter, и вы получите в консоли сообщение, подобное этому.
Затем мы копируем открытый ключ ssh в буфер обмена. Какая команда будет копироваться, зависит от вашей операционной системы.
Для Mac
Для Linux (Ubuntu)
Для Windows (Git Bash)
Как ввести SSH ключ на стороне Git’a
Войдите в свою учетную запись Git, наведите курсор на свой аватар и нажмите «Настройки»:
Теперь перейдите на вкладку «SSH и GPG ключи»:
Затем нажмите на кнопку «Новый ключ SSH». Введите имя и вставьте ключ в поле Key (Ключ). Нажмите на кнопку Добавить ключ.
Работа с репозиторием
Теперь создайте новый репозиторий на github.com, если это новый проект. Теперь перейдем в папку проекта на локальном компьютере и выполним команду:
Я покажу это на примере Windows.
Когда вы создаете репозиторий на GitHub, он существует как удаленный репозиторий. Вы можете клонировать хранилище для создания локальной копии на вашей машине и синхронизировать эти два места.
Этот процесс предполагает, что вы уже создали репозиторий на GitHub или имеете существующий репозиторий, принадлежащий кому-то, в который вы хотите внести свой вклад.
Клонирование репозитория с помощью командной строки
На GitHub перейдите на главную страницу репозитория.
Примечания. Если хранилище пустое, вы можете вручную скопировать URL страницы хранилища из браузера и перейти к шагу 4.
Под именем хранилища нажмите Клонировать или Загрузить .
Чтобы клонировать хранилище с помощью HTTPS, щелкните в разделе Клонировать с помощью HTTPS. Чтобы клонировать хранилище с помощью ключа SSH, включая сертификат, выданный центром сертификации SSH вашей компании, нажмите «Использовать SSH». а затем нажмите .
Откройте Git Bash. ТерминалТерминал
Измените текущий рабочий каталог на место, где вы хотите создать клонированный каталог.