Git - это наиболее популярная реализация распределённой системы контроля версий. Самая популярная реализация Git - это GitHub
Для сооздания репозитория используется команда git init. Для этого необходимо в терминале перейти в пустую папку, где в будущем будет репозиторий. Затем в терминале с папкой написать команду git init.
Для добавления файла к будущему коммиту используется команда git add. Для этого в терминале с папкой-репозиторием необходимо написать git add <название файла>.
Для создания коммита используется команда git commit. Для этого в терминале с папкой репозиторием необходимо написать git commit -m <сообщение к коммиту>. Сообщение к коммиту писать ОБЯЗАТЕЛЬНО!!!.
Для просмотра журнала изменений используется команда git log. Для этого в терминале с папкой-репозиторием необходимо написать git log.
Для перемещения на предущие коммиты используется команда git checkout. Для этого необходимо в журнале изменений, как показано в предыдущей части, найти необходимый коммит и его номер. После чего в терминале с папкой-репозиторием написать команду git checkout <номер коммита>. После примененения этой команды Вы попадёте в состояние Detached head, в котором никакие изменения фиксироваться не будут. Для возврата в обычное состояние необходимо написать команду git checkout master.
Для создания новой ветки используется команда git branch. Для этого в терминале с папкой-репозиторием необходимо написать git branch <название ветки>
Для просмотра списка веток используется комнада git branch. Для этого в терминале с папкой-репозиторием необходимо написать команду git branch. Зелёным цветом с символом звёздочка будет выделена текущая ветка
Для перехода на другую ветку используется команда git checkout. Для этого в терминале с папкой-репозиторием пишем команду git checkout <название ветки. Для перехода на ветку ветка должна быть создана!!!
Удаленный репозиторий – это версии вашего проекта, сохраненные на удаленном сервере. Доступ к репозиторию на таком сервере может осуществляться по интернету или по локальной сети. Удаленный репозиторий – полноценный репозиторий, ничем не отличающийся от локального. У удаленного репозитория есть собственные ветки,своя история коммитов и так далее. Кроме того,это своего рода резервная копия вашего проекта, предоставляющая возможность безболезненной работы в команде Если мы подключим удаленный репозиторий к своему локальному, то у нас появятся копии всех ссылочных объектов удаленного репозитория.
Команды для работы с удаленными репозиториями:
-
Связь локального и удаленного репозиториев. Команда git remote. Необходимость подключить удаленный репозиторий к уже существующему локальному возникает в ситуациях, когда вы решаете выгрузить уже написанный код на удаленный сервер. Это нужно, чтобы другие разработчики смогли получить к нему доступ или чтобы вы сами могли заниматься разработкой с нескольких компьютеров (например, домашнего и рабочего). Чтобы добавить удаленный репозиторий к вашему локальному используется команда git remote add.
Формат: git remote add <название удаленного репозитория> <ссылка на удаленный репозиторий>
Название - принято называть удаленный репозиторий origin, но строго говоря, никаких ограничений здесь нет.
Ссылка - URL адрес репозитория на GitHub.
Пример:
git remote add origin https://github.com//......
-
Клонирование удаленного репозитория. Команда git clone. Необходимость клонировать существующий удаленный репозиторий возникает в ситуациях, когда вы решаете поработать над уже существующим проектом. Операция клонирования создаёт на вашем компьютере точную копию удаленного репозитория. Таким образом, вы переносите себе все файлы и папки проекта, а также всю его историю с момента его создания. Для выполнения этой операции в Git предусмотрена команда git clone.
Формат: git clone <ссылка на удаленный репозиторий>
Что делает: клонирует переданный репозиторий на ваш компьютер.
Пример: git сlone https://github.com/.......
-
Получение изменений из удаленного репозитория. Команда git pull. Чтобы получать изменения из удаленного репозитория и сразу обновлять рабочую копию (локальный репозиторий) так, чтобы она соответствовала удаленному репозиторию используйте отдельную команду git pull. Также, если вы сделали изменения в вашем удаленном репозитории, другие пользователи могут скачать изменения при помощи этой команды.
Формат: git pull [имя удаленного репозитория][имя ветки, в которую необходимо внести изменения]. Примечание: ветка по умолчанию для всех репозиториев - master.
Что делает: Получает изменения из переданного удаленного репозитория и обновляет рабочую копию в соответствии с удаленным репозиторием.
Пример: git pull origin master
-
Отправка изменений в удаленный репозиторий. Команда git push. Если вы хотите обновить данные в удаленном репозитории для их загрузки необходимо использовать команду - git push. Она принимает два параметра: имя удаленного репозитория (origin) и ветку, в которую необходимо внести изменения (master).
Формат: git push [имя удаленного репозитория] [имя ветки].
Что делает: Загружает изменения в удаленный репозиторий.
Пример: git push origin master
Подытожив пункт 4 и 5, можно назвать git push - командой выгрузки, а git pull - командой загрузки или скачивания.
-
Создание форка репозитория на GitHub. Пулл-реквест.
Форк (от англ. fork - вилка) – точная копия репозитория, но в вашем аккаунте. Форки нужны, чтобы вносить свои изменения в проект, к репозиторию которого у вас нет прямого доступа.
Пулл-реквест (от англ. pull-request – запрос pull) – функция GitHub, позволяющая попросить владельца репозитория, от которого мы сделали форк, загрузить наши изменения обратно в свой репозиторий.
Если коротко, форки и пулл-реквесты нужны, чтобы любой пользователь мог внести свой вклад в любой открытый проект, репозиторий которого есть на GitHub.