Установка Git
Git — это распределенная система управления версиями (distributed version control system).
Что такое Git в общих чертах?
В наиболее общем плане Git представляет собой набор инструментов, позволяющий нескольким разработчикам эффективно работать совместно над одним проектом. Эффективность достигается с помощью организации рабочего процесса совместной разработки.
- Весь исходный код проекта помещается в специальную базу данных Git, размещаемую в каталоге
.git
; самая верхняя директория проекта, содержащая файлы проекта и базу данных.git
, называется репозиторием. - Каждый разработчик имеет локальный «клон» репозитория, с которым работает только он.
- Вся работа над проектом (добавление и удаление файлов, внесение изменений, переименование и т.д.) последовательно записывается в репозиторий логическими единицами работы — коммитами.
-
Все разработчики синхронизируют коммиты между репозиториями с помощью двух механизмов:
- отправки изменений (push) в удаленные репозитории;
- получения изменений (pull) из удаленных репозиториев.
Как правило, разработчики используют один центральный репозиторий, размещаемый в Интернет (например, на GitHub) или в интрасети, куда они отправляют свои коммиты и откуда получают коммиты других участников разработки.
- Git следит за тем, чтобы ни одно изменение не было потеряно в результате совместных модификаций.
Как проверить, что Git установлен?
-
Проверьте версию Git, убедитесь, что используете последнюю:
git --version
git version 1.7.4.4
-
Убедитесь, что Git содержит следующие глобальные конфигурационные сведения (уровня учетной записи пользователя ОС):
user.name
— Ваше имя;user.email
— Ваш адрес электронной почты.
Используйте команду
git config --global --get xxx
для просмотра значений конфигурационных параметров (гдеxxx
— имя параметра). - Если Вы не сделали этого ранее, зарегистрируйтесь на GitHub. Проверьте SSH-ключи. Убедитесь, что Вы можете получать и отправлять изменения в своих репозиториях.
Если какой-либо из пунктов вызывает у Вас проблемы, пожалуйста, прочитайте еще раз введение к курсу IT1208: Управление разработкой информационных систем, где подробно описан процесс корректрой установки Git.
Задача: форкнуть репозиторий в GitHub, создать ветку и работать с кодом.
Сразу появляется много вопросов — что такое GitHub, какие для этого нужны команды, зачем, а главное, как всем этим пользоваться? Давайте разберёмся.
Когда мы пишем код, мы постоянно туда что-то добавляем, удаляем, и иногда всё может ломаться. Поэтому перед любыми изменениями стоит сделать копию проекта. Если собирать проекты в папки с именами проект1
, проект1_финал
и проект2_доделка
, вы быстро запутаетесь и точно что-нибудь потеряете. Поэтому для работы с кодом используют системы контроля версий.
Система контроля версий — программа, которая хранит разные версии одного документа, позволяет переключаться между ними, вносить и отслеживать изменения. Таких систем много и все они работают по принципу компьютерной игры, где вы можете вернуться к месту сохранения, если что-то пошло не так.
Git — самая популярная система контроля версий. С Git можно работать через командную строку (или терминал). В каждой системе своя встроенная программа для работы с командной строкой. В Windows это PowerShell или cmd, а в Linux или macOS — Terminal.
Вместо встроенных программ можно использовать любую другую — например, Git Bash в Windows или iTerm2 для macOS.
Как работает терминал: мы вводим команду и получаем ответ компьютера — или всё получилось, или где-то ошибка, или нужно ввести что-то ещё — например, пароль. Поэтому большая часть этой инструкции состоит из команд для терминала. Сначала будет непривычно, но вам понравится.
Но давайте по порядку — установим Git на компьютер.
Устанавливаем и настраиваем Git
Windows. Скачайте Git для Windows, запустите exe-файл, следуйте инструкциям.
macOS. Скачайте Git для macOS и запустите dmg-файл. Если он не запускается, зайдите в Системные настройки — Безопасность и нажмите кнопку Open anyway (Всё равно открыть).
Linux. Установите Git через встроенный менеджер пакетов. Если у вас Ubuntu, используйте команду sudo apt-get install git
. Команды для других дистрибутивов можно посмотреть здесь.
Как проверить, что Git установился
Откройте терминал и введите команду
Если Git установлен, то вы увидите номер версии, например, 2.35.1
.
➜ ~ git --version
git version 2.35.1
➜ ~
Настраиваем Git
Теперь нужно ввести имя и адрес электронной почты, чтобы ваши действия в Git были подписаны, а ещё для привязки к GitHub.
Добавить имя (введите его внутри кавычек):
git config --global user.name "ваше имя"
Добавить электронную почту (замените email@example. com на вашу почту):
git config --global user.email email@example.com
Опция --global
значит, что имя и почта будут использоваться для всех ваших действий в Git. Если вы хотите менять эту информацию для разных проектов, то вводите эти же команды, только без опции --global
.
Регистрируемся на GitHub
GitHub (или Гитхаб) — веб-сервис на основе Git, который помогает совместно разрабатывать IT-проекты. На Гитхабе разработчики публикуют свой и редактируют чужой код, комментируют проекты и следят за новостями других пользователей.
Профиль на Гитхабе и все проекты в нём — ваше публичное портфолио разработчика, поэтому нужно завести профиль, если у вас его ещё нет.
- Зайдите на сайт https://github. com и нажмите кнопку Sign up.
- Введите имя пользователя (понадобится в дальнейшей работе), адрес электронной почты (такой же, как при настройке Git) и пароль.
- На почту придёт код активации — введите на сайте.
- Появится окно с выбором тарифного плана. Если вы пользуетесь Гитхабом для учёбы, то укажите, что профиль нужен только для вас и вы студент.
- Опросы и выбор интересов можно пропустить.
На этом всё — вы зарегистрировались и у вас есть собственный профиль.
Устанавливаем SSH-ключи
Чтобы получить доступ к проектам на GitHub со своего компьютера и выполнять команды без постоянного ввода пароля, нужно, чтобы сервер вас узнавал. Для этого используются SSH-ключи.
SSH — протокол для безопасного соединения между компьютерами.
SSH-ключ состоит из двух частей — открытого и закрытого ключа. Открытый ключ мы отправляем на сервер. Его можно не прятать от всех и не переживать, что кто-то его украдёт, потому что без закрытого ключа он бесполезен. А вот закрытый ключ — секретная часть, доступ к нему должен быть только у вас. Это важно.
Мы будем подключаться к GitHub по SSH. Это работает так:
- Вы отправляете какую-то информацию на GitHub, который знает ваш открытый ключ.
- GitHub по открытому ключу понимает, что вы это вы, и отправляет что-то в ответ.
- Только вы можете расшифровать этот ответ, потому что только у вас есть подходящий закрытый ключ.
А чтобы подключиться к GitHub с помощью SSH-ключа, сначала нужно его создать.
Проверяем SSH-ключи
Перед созданием нового SSH-ключа проверим, есть ли на компьютере другие ключи. Обычно они лежат в папке с названием .ssh
— поэтому посмотрим, есть ли в ней что-то, с помощью команды в терминале:
Если у вас уже есть SSH-ключ, то в списке будут файлы с именами вроде id_rsa.pub
, id_ecdsa.pub
или id_ed25519.pub
. А если терминал ругается, что директории ~/.ssh
не существует, значит, у вас нет SSH-ключей. Давайте это исправим.
Создаём новый SSH-ключ
Откройте терминал и скопируйте туда эту команду. Не забудьте подставить в кавычки почту, на которую вы регистрировались на Гитхабе.
ssh-keygen -t ed25519 -C "your_email@example.com"
ed25519
— это алгоритм для генерации ключей. Если ваша система не поддерживает алгоритм ed25519
(и вы увидели ошибку), используйте немного другую команду с алгоритмом rsa
:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Терминал спросит, куда сохранить ключ. Если не хотите менять имя файла, которое предлагает терминал, просто нажмите Enter.
> Generating public/private имя-ключа key pair.
> Enter a file in which to save the key (/c/Users/ваш-профиль/.ssh/id_имя-ключа):*[Press enter]*
Теперь нужно добавить пароль, которым будет зашифрован ваш ключ. Это стоит сделать, иначе в дальнейшем могут быть проблемы с настройкой, да и так просто безопаснее.
В результате создаётся новый SSH-ключ, привязанный к вашей электронной почте.
Создание ключа по шагам:
Добавляем SSH-ключ в ssh-agent
ssh-agent
— программа для хранения и управления SSH-ключами. Давайте запустим её и добавим туда наш SSH-ключ. Запускаем командой eval "$(ssh-agent -s)"
:
Если в ответ терминал покажет надпись «Agent pid» и число — значит, всё ок, агент запущен.
Теперь добавим наш ключ командой.
ssh-add ~/.ssh/id_ed25519
Если у вашего ключа другое имя, замените название id_ed25519
именем файла с ключом (это правило применяется и дальше в инструкции). Если вы устанавливали пароль на ключ, введите его два раза после ввода команды ssh-add
(терминал подскажет, когда это сделать).
Теперь, если всё хорошо, появится надпись Identity added — значит, можно переходить к добавлению ключа на GitHub.
Копируем SSH-ключ
Чтобы добавить ключ на GitHub, нужно сначала его скопировать из вашего файла командой clip
. Вы не увидите ключ на экране, но он появится в буфере обмена, и его можно будет вставить на Гитхаб.
clip < ~/.ssh/id_ed25519.pub
Команда clip
может не сработать на вашем компьютере, тогда есть два способа узнать ключ — простой и сложный.
Сложный способ. Найдите скрытую папку .ssh
, откройте файл id_ed25519.pub
в текстовом редакторе и скопируйте его содержимое.
Простой способ. Введите команду ниже и ключ появится прямо в терминале — его нужно вручную скопировать в буфер обмена. Ключ начинается с ssh-ed22519
или ssh-rsa
(или похожей строки) — поэтому копируйте строку прямо с самого начала.
~ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO63MT6VCFuZtCLhLj1J6I7dgEU2BsRdIsnvnr4ax+Fr shklyar@htmlacademy.ru
Не копируйте этот ключ из статьи — он уже не работает.
Добавляем SSH-ключ на GitHub
Это нужно сделать, чтобы GitHub вас узнавал.
Перейдите на страницу для работы с ключами в вашем профиле на GitHub и нажмите кнопку New SSH key.
В поле Title нужно добавить название нового ключа. Например, если вы используете Mac, вы можете назвать ключ MacBook Air, или, если ключ для курсов Академии, то Academy. А ключ, который вы скопировали на прошлом шаге, вставьте в поле Key.
Не копируйте ключ со скриншота — он уже не работает.
Теперь нажмите кнопку Add SSH key и, если потребуется, введите свой пароль от GitHub, чтобы подтвердить сохранение. Если всё сделано верно, новый ключ появится в списке на странице https://github. com/settings/keys.
Теперь мы можем поработать с проектом в репозитории.
Что такое репозиторий
Репозиторий — папка с файлами вашего проекта на сервере GitHub. Так вы можете работать с проектом откуда угодно, не переживая, что какие-то файлы потеряются — все данные останутся в репозитории.
Если над проектом работает несколько программистов, сначала создаётся мастер-репозиторий — это общий репозиторий с рабочей версией проекта. А каждый программист работает с форком — то есть полной копией мастер-репозитория. В форке вы можете безнаказанно менять код и не бояться что-то сломать в основной версии проекта.
Делаем форк мастер-репозитория
Заходим в нужный репозиторий и нажимаем на «вилку» с надписью fork.
Появится окно Create a new fork — проверьте, что он называется так, как вам нужно, и жмите кнопку Create fork. Через пару секунд всё готово.
Клонируем форк на компьютер — git clone
Клонировать форк — значит скачать его, чтобы работать с кодом на своём компьютере. Тут нам и пригодится SSH.
Открываем терминал и переходим в папку с будущим проектом — для этого используем команду cd your-project
. Если вы хотите, чтобы проект лежал в папке device
, введите
Если такой папки на компьютере нет, то сначала введите md your-project
, чтобы создать эту папку, а затем cd your-project
. Подробнее о командах.
Когда перейдёте в папку, введите команду git clone
для клонирования репозитория:
git clone git@github.com:your-nickname/your-project.git
Замените your-nickname
на ваше имя пользователя на GitHub, а your-project
— на название проекта. Проще всего их найти прямо наверху страницы репозитория.
Если вы правильно настроили SSH-ключи, Git скопирует репозиторий на ваш компьютер.
➜ device git clone git@github.com:academy-student/1173761-device-34.git
Клонирование в «1173761-device-34»…
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Получение объектов: 100% (15/15), 145.07 КиБ | 900.00 КиБ/с, готово.
Если вы видите ошибку Error: Permission denied (publickey)
, скорее всего, вы ошиблись в настройке SSH-ключа. Вернитесь в этот раздел инструкции и повторите процесс настройки.
Кстати, если вы хотите, чтобы название папки с проектом у вас на компьютере отличалось от имени репозитория, можете дополнить команду клонирования, добавив в конце другое название:
git clone git@github.com:_your-nickname_/_your-project_.git folder_name
Теперь на вашем компьютере в папке your_project
или в той, название которой вы указали, находится полная копия репозитория c GitHub.
В каждом репозитории есть как минимум одна основная ветка, которую создаёт сам Git — она называется master
. Обычно в ней хранят проверенную версию программы без ошибок.
А если вы хотите исправить ошибку в коде или добавить что-то в проект, но не хотите сломать код в основной ветке, нужно создать новую ветку из master
и работать из неё. Каждая ветка — что-то вроде второстепенной дороги, которая затем снова соединится с основной.
Создаём новую ветку — git branch
Откройте терминал и введите команду
Она показывает список веток, с которыми мы работаем в проекте, и выделяет текущую. Если мы находимся в master
, то создаём новую ветку командой
git checkout -b имя-новой-ветки.
➜ 1173761-device-34 git:(master) git checkout -b task1
Переключено на новую ветку «task1»
➜ 1173761-device-34 git:(task1)
Если текущая ветка не master
, переключитесь на неё с помощью команды checkout
. После git checkout
надо указать название нужной ветки.
Мы делаем это, чтобы новая ветка содержала свежую рабочую версию проекта. Если вы ошиблись в названии, например, допустили опечатку, вы можете изменить название ветки с помощью команды:
git branch -m старое-имя-ветки новое-имя-ветки.
Сохраняем изменения — git add
После того, как вы создали ветку и поработали в ней у себя на компьютере, нужно сохранить результат, чтобы появился в репозитории и не пропал.
Если вы хотите сохранить изменения не во всех файлах, для начала введите команду git status
. Она покажет текущее состояние в вашей ветке, а именно список с названиями изменённых файлов, если они есть, и укажет на те, которые ожидают записи и сохранения (обычно они выделены красным цветом).
Чтобы сохранить все изменения разом, используйте команду
Чтобы сохранить изменения только отдельных файлов, укажите их имена вручную. Например, если вы изменили файл index.html
, введите
Если название очень длинное, вы начните его писать, нажмите Tab и терминал сам предложит продолжение пути к файлу.
Делаем коммит — git commit
Сделать коммит — значит зафиксировать все сохранённые изменения и дать им название. Это делается с помощью команды commit
git commit -m "ваше сообщение"
Текст сообщения должен быть лаконичным и вместе с этим сообщать о том, что делает коммит (внесённые изменения). Например,
- Добавляет имя наставника в Readme
- Вводит функцию сортировки изображений
- Правит ошибку в поиске городов на карте
Отправляем изменения на GitHub — git push
Сохранённые изменения пока не видны коллегам, потому что находятся в нашем локальном репозитории. Нужно отправить коммиты на GitHub. Для этого введите команду
git push origin название-текущей-ветки
Где origin
означает репозиторий на компьютере, то есть ваш форк. Слово origin
— часть команды, не меняйте это название на своё.
Создаём пулреквест
Пулреквест (или PR) — это предложение изменить код в репозитории. PR должен проверить администратор мастер-репозитория — это может быть коллега-разработчик, техлид или наставник на курсе.
Если к коду нет вопросов, пулреквест принимается. Если нужно что-то исправить — отклоняется, и придётся исправить код и снова пройти цепочку git add
— git commit
— git push
. Если вы и дальше работаете в той же ветке, а пулреквест ещё не принят, все ваши изменения автоматически добавятся в пулреквест, созданный из этой ветки после команды git push origin название-текущей-ветки
.
Чтобы создать пулреквест, зайдите на страницу вашего форка на GitHub. Вверху появилась плашка Compare & pull request, а ещё можно зайти на вкладку Pull Requests.
Нажмите на неё и окажетесь на странице открытия пулреквеста. Проверьте описание и нажмите Create pull request.
Готово, теперь ждём остаётся ждать одобрения пулреквеста или комментариев к нему.
Синхронизируем репозитории
Предположим, вы исправили код, руководитель или наставник одобрил ваши правки и принял пулреквест.
Теперь код в мастер-репозитории обновился, а в вашем форке нет, вы ведь не обновляли свою версию репозитория с тех пор, как клонировали её себе на компьютер. Приведём форк в актуальное состояние.
В локальном репозитории переключаемся на ветку master
.
Забираем изменения из ветки master
мастер-репозитория
git pull git@github.com:academy-student/1173761-device-34.git master
Отправляем изменения уже из своей ветки master
в ваш форк на GitHub с помощью команды
Готово, теперь форк и оригинальный репозиторий находятся в актуальном состоянии.
Словарик
Система контроля версий — программа, которая хранит разные версии одного документа, позволяет переключаться между ними, вносить и отслеживать изменения.
Git — самая популярная система контроля версий. С Git можно работать через терминал.
Как работает терминал: мы вводим команду и получаем ответ компьютера — или всё получилось, или где-то ошибка, или нужно ввести что-то ещё.
GitHub (или Гитхаб) — веб-сервис, основанный на Git, который помогает совместно разрабатывать IT-проекты. На Гитхабе разработчики публикуют свой и редактируют чужой код, комментируют проекты и следят за новостями других пользователей.
SSH-ключ нужен, чтобы получить доступ к проектам на GitHub со своего компьютера и выполнять команды без постоянного ввода пароля, нужно, чтобы сервер нас узнавал.
ssh-agent — программа для хранения и управления SSH-ключами.
Репозиторий — папка с файлами вашего проекта на сервере GitHub или у вас на компьютере.
Мастер-репозиторий — это общий для всей команды репозиторий с рабочей версией проекта.
Форк — полная копия мастер-репозитория, в которой вы можете безопасно работать.
Клонировать форк — скачать его командой git clone
, чтобы работать с кодом на своём компьютере.
Пулреквест (или PR) — предложение изменить код в репозитории. PR должен проверить администратор мастер-репозитория — это может быть коллега-разработчик, техлид или наставник на курсе.
Другие материалы по Git
- Введение в системы контроля версий
- Шпаргалка по Git. Решение основных проблем
- Полезные команды для работы с Git
How to install Git on any OS
Git can be installed on the most common operating systems like Windows, Mac, and Linux. In fact, Git comes installed by default on most Mac and Linux machines!
Checking for Git
To see if you already have Git installed, open up your terminal application.
- If you’re on a Mac, look for a command prompt application called «Terminal».
- If you’re on a Windows machine, open the windows command prompt or «Git Bash».
Once you’ve opened your terminal application, type git version
. The output will either tell you which version of Git is installed, or it will alert you that git
is an unknown command. If it’s an unknown command, read further and find out how to install Git.
Install Git Using GitHub Desktop
Installing GitHub Desktop will also install the latest version of Git if you don’t already have it. With GitHub Desktop, you get a command line version of Git with a robust GUI. Regardless of if you have Git installed or not, GitHub Desktop offers a simple collaboration tool for Git. You can learn more here.
Install Git on Windows
- Navigate to the latest Git for Windows installer and download the latest version.
- Once the installer has started, follow the instructions as provided in the Git Setup wizard screen until the installation is complete.
- Open the windows command prompt (or Git Bash if you selected not to use the standard Git Windows Command Prompt during the Git installation).
- Type
git version
to verify Git was installed.
Note: git-scm
is a popular and recommended resource for downloading Git for Windows. The advantage of downloading Git from git-scm
is that your download automatically starts with the latest version of Git included with the recommended command prompt, Git Bash
. The download source is the same Git for Windows installer as referenced in the steps above.
Install Git on Mac
Most versions of MacOS will already have Git
installed, and you can activate it through the terminal with git version
. However, if you don’t have Git installed for whatever reason, you can install the latest version of Git using one of several popular methods as listed below:
Install Git From an Installer
- Navigate to the latest macOS Git Installer and download the latest version.
- Once the installer has started, follow the instructions as provided until the installation is complete.
- Open the command prompt «terminal» and type
git version
to verify Git was installed.
Note: git-scm
is a popular and recommended resource for downloading Git on a Mac. The advantage of downloading Git from git-scm
is that your download automatically starts with the latest version of Git. The download source is the same macOS Git Installer as referenced in the steps above.
Install Git from Homebrew
Homebrew is a popular package manager for macOS. If you already have Homwbrew installed, you can follow the below steps to install Git:
- Open up a terminal window and install Git using the following command:
brew install git
. - Once the command output has completed, you can verify the installation by typing:
git version
.
Install Git on Linux
Fun fact: Git was originally developed to version the Linux operating system! So, it only makes sense that it is easy to configure to run on Linux.
You can install Git
on Linux through the package management tool that comes with your distribution.
Debian/Ubuntu
- Git packages are available using
apt
. - It’s a good idea to make sure you’re running the latest version. To do so, Navigate to your command prompt shell and run the following command to make sure everything is up-to-date:
sudo apt-get update
. - To install Git, run the following command:
sudo apt-get install git-all
. - Once the command output has completed, you can verify the installation by typing:
git version
.
Fedora
- Git packages are available using
dnf
. - To install Git, navigate to your command prompt shell and run the following command:
sudo dnf install git-all
. - Once the command output has completed, you can verify the installation by typing:
git version
.
Note: You can download the proper Git versions and read more about how to install on specific Linux systems, like installing Git on Ubuntu or Fedora, in git-scm’s documentation.
Other Methods of Installing Git
Looking to install Git via the source code? Learn more here.
Contribute to this article on GitHub.
Get started with git and GitHub
Review code, manage projects, and build software alongside 40 million developers.
Sign up for GitHub
Sign in
From Gareth’s answer:
git help
andman git
both hint at the available arguments you can pass to the command-line tool
Actually, the git version command finally gets an official help page with Git 2.34 (Q4 2021):
See commit b6d8887 (14 Sep 2021) by Matthias Aßhauer (rimrul
).
(Merged by Junio C Hamano — gitster
— in commit 188da7d, 23 Sep 2021)
documentation
: add documentation for ‘git version’Signed-off-by: Matthias Aßhauer
While ‘
git version
‘(man) is probably the least complex git command, it is a non-experimental user-facing builtin command.
As such it should have a help page.Both
git help
(man) andgit version
can be called as options (--help
/--version
) that internally get converted to the corresponding command.
Add a small paragraph toDocumentation/git.txt
describing how these two options interact with each other and link to this help page for the sub-options that--version
can take.
Well, currently there is only one sub-option, but that could potentially increase in future versions of Git.
git version
now includes in its man page:
git-version(1)
NAME
git-version — Display version information about Git
SYNOPSIS
git version [--build-options]
DESCRIPTION
With no options given, the version of ‘git’ is printed on the standard output.
Note that
git --version
is identical togit version
because the
former is internally converted into the latter.OPTIONS
--build-options
Include additional information about how git was built for diagnostic
purposes.
git
now includes in its man page:
This option is internally converted to
git version ...
and accepts
the same options as thegit version
command.
If--help
is also given, it takes precedence over--version
.
23 марта, 2018 12:01 пп
2 132 views
| Комментариев нет
Centos, Debian, Linux, Ubuntu
Проекты с открытым исходным кодом, размещенные в общедоступных хранилищах, развиваются благодаря вкладу широкого сообщества разработчиков и обычно управляются через Git. Распределенная система управления версиями Git позволяет легко и эффективно поддерживать командные проекты с открытым исходным кодом. Эту систему тоже можно бесплатно загрузить и использовать, так что Git – сама по себе хороший пример проекта с открытым исходным кодом.
В этом мануале мы обсудим преимущества работы над открытым проектом. Также вы узнаете, как устанавливать и настраивать Git.
Разработка открытых проектов
Программное обеспечение с открытым исходным кодом – это программное обеспечение, которое можно свободно использоватьния, перераспределять и модифицировать.
Проекты с открытым исходным кодом поощряют прозрачную разработку, которая продвигается благодаря независимой экспертизе равноправных участников процесса. Проекты с открытым исходным кодом могут обновляться по мере необходимости. Также они предлагают надежное и гибкое программное обеспечение, которое не использует закрытые, запатентованные системы.
Внося свой вклад в проекты с открытым исходным кодом, вы помогаете улучшить их и расширить базу конечных пользователей технологий. Вклад конечных пользователей в код или документацию подобных проектов имеет особую ценность.
Лучший способ начать вносить вклад в проекты с открытым исходным кодом – попробовать улучшить программное обеспечение, которое вы уже используете. Как пользователь конкретного инструмента, вы лучше всего понимаете, какие функции наиболее важны для проекта. Конечно, сначала следует прочитать всю имеющуюся документацию о программном обеспечении. На самом деле, многие проекты с открытым исходным кодом имеют файл CONTRIBUTING.md в корневом каталоге; внимательно прочитайте этот файл, прежде чем начать работу над проектом. Вы также можете обратиться к форуму, чтобы получить представление о взаимодействии между другими разработчиками в сообществе.
Если же вы только начинаете использовать программное обеспечение с открытым исходным кодом, попробуйте начать с чего-то малого – любой вклад в открытый проект ценен. Вы можете начать с исправления опечаток, добавления комментариев или корректировки документации.
Система контроля версий Git
Одной из самых популярных систем контроля версий программного обеспечения является Git. Git была создана в 2005 году Линусом Торвальдсом, создателем ядра Linux. Юнио Хамано является нынешним разработчиком проекта.
Многие проекты поддерживают свои файлы в репозитории Git, а такие сайты, как GitHub, GitLab и Bitbucket, сделали совместное использование и разработку кода намного проще и эффективнее. Каждый рабочий каталог в Git – это полноценный репозиторий с полной историей и отслеживанием независимо от сетевого доступа или центрального сервера.
Контроль версий стал незаменимым инструментом в современной разработке программного обеспечения, поскольку эти системы позволяют отслеживать программное обеспечение на исходном уровне. Все члены команды разработчиков могут отслеживать изменения, возвращаться к предыдущим этапам и отходить от базового кода для создания альтернативных версий файлов и каталогов.
Система Git настолько полезна в разработке проектов с открытым исходным кодом потому, что сильно упрощает работу. Каждый разработчик может отделиться от основной ветки репозитория базы кода и изолировать свои собственные изменения, и затем сделать запрос на перенос, чтобы интегрировать эти изменения в основной проект.
Чтобы использовать Git для участия в проектах с открытым исходным кодом, вы должны установить Git на вашем локальном компьютере.
Проверка установки Git
Сначала нужно узнать, есть ли у вас на компьютере инструменты командной строки Git. Если вы создаете свои репозитории кода, то, скорее всего, Git установлен на вашем локальном компьютере. Некоторые операционные системы также поставляются с Git по умолчанию, поэтому перед установкой стоит проверить, есть ли у вас этот инструмент.
Чтобы проверить, установлена ли система Git и какую версию вы используете, откройте окно терминала в Linux или Mac или окно командной строки в Windows и введите следующую команду:
git --version
Если Git не установлен, вы получите подобное сообщение об ошибке:
-bash: git: command not found
'git' is not recognized as an internal or external command, operable program or batch file.
В таком случае вы должны установить Git на свой компьютер. Ниже мы рассмотрим установку Git в нескольких основных операционных системах.
Установка Git на Linux
На сегодняшний день самый простой способ установить и настроить Git – это использовать вашу версию из репозитория системы по умолчанию. Попробуйте установить Git на локальную машину Linux, используя этот метод.
Установка Git в Ubuntu 16.04 или Debian 8
В этих системах вы можете использовать менеджер пакетов apt. Сначала обновите индекс пакетов, а затем загрузите и установите программу:
sudo apt-get update
sudo apt-get install git
Это самый быстрый способ установки Git, но версия может оказаться устаревшей. Если вам нужна последняя версия, лучше скомпилировать Git из исходного кода. Для этого обратитесь к соответствующему разделу мануала Установка Git в Ubuntu 16.04.
После установки вы можете перейти к разделу «Настройка Git».
Установка Git на CentOS
В этой системе можно использовать yum, менеджер пакетов CentOS,. Найдите и установите последнюю версию Git, доступную в репозитории CentOS.
Сначала обновите yum, выполнив эту команду:
sudo yum -y update
Флаг -y автоматически подтверждает все запросы терминала.
Теперь можно установить Git:
sudo yum install git
Это самый быстрый способ установки Git на CentOS, но версия может оказаться устаревшей. Если вам нужна последняя версия, лучше скомпилировать Git из исходного кода. Для этого обратитесь к мануалу Установка Git на CentOS 7.
После установки вы можете перейти к разделу «Настройка Git».
Установка Git на Fedora
Пакеты Git для Fedora доступны через yum и dnf. Представленный в Fedora 18 менеджер DNF (или Dandified Yum) остается менеджером пакетов по умолчанию Fedora с версии 22.
В терминале обновите dnf и установите Git:
sudo dnf update
sudo dnf install git
Если вы используете более старую версию Fedora, обратитесь к менеджеру yum:
sudo yum update
sudo yum install git
После установки вы можете перейти к разделу «Настройка Git».
Установка Git на macOS
Если вы введете команду Git в окно терминала на локальном компьютере Macintosh (как выше, git –version), вам будет предложено установить Git, если система еще не установлена. Когда вы получите это предложение, подтвердите установку Git, следуйте инструкциям и отвечайте на запросы в окне терминала.
Вы можете установить самую последнюю версию Git на свой Mac через установщик бинарных файлов. Установщик OS X Git поддерживается и доступен для загрузки на веб-сайте Git. Нажав сюда, вы автоматически начнете загрузку.
После установки вы можете перейти к разделу «Настройка Git».
Установка Git на Windows
Официальная сборка для Windows доступна для скачивания на веб-сайте Git. Если вы нажмете сюда, загрузка начнется автоматически.
Существует также проект с открытым исходным кодом Git для Windows, который отделен от официального сайта Git. Этот проект предоставляет инструменты командной строки и графический интерфейс для эффективного использования Git на машине Windows. За дополнительной информацией об этом проекте и кодом обращайтесь к сайту проекта Git for Windows.
Настройка Git
Теперь, когда вы установили Git на свою машину, вам нужно настроить систему, чтобы сообщения о коммитах содержали правильную информацию о вас.
Самый простой способ сделать это – выполнить команду git config. Вам нужно предоставить имя и адрес электронной почты, потому что Git вставляет эту информацию в каждый коммит. Чтобы добавить эту информацию, введите:
git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"
Увидеть все элементы конфигурации можно с помощью команды:
git config --list
user.name=Your Name
user.email=youremail@domain.com
Как вы можете видеть, информация имеет несколько иной формат. Она хранится в вашем конфигурационном файле Git, который вы можете редактировать вручную с помощью текстового редактора, например nano:
nano ~/.gitconfig
[user]
name = Your Name
email = youremail@domain.com
В Git есть много других опций, которые можно установить, но эти две опции необходимы для работы.
Заключение
Установив и настроив систему Git на локальном компьютере, вы можете использовать Git для контроля версий своих собственных проектов, а также вносить вклад в другие проекты с открытым исходным кодом.
Участие в разработке программного обеспечения с открытым исходным кодом – отличный способ стать активным участником широкого сообщества разработчиков и помочь обеспечить высокое качество программы для конечных пользователей.
Tags: CentOS, Fedora, Git, Mac OS, Windows
Чтобы узнать, установленную версию Git, необходимо выполнить команду:
git --version
Или просто:
git version
Результат выполнения команды будет примерно следующий:
$ git --version
git version 2.18
Если вдруг в результате выполнения команды, выскакивает сообщение: git: command not found, то это означает, что либо Git не установлен в вашей системе, либо путь до git не добавлен в переменную окружения $PATH.
Зачем знать версию Git
У некоторых пользователей может возникнуть вопрос, а зачем вообще знать версию Git, и на что она влияет?
Новые версии Git обычно выходят с периодичность 1-3 месяца. От версии к версии происходят изменения, касающиеся не только исправления ошибок, но и изменения, затрагивающие поведения команд Git. Это означает, что в разных версиях Git некоторые команды могут вести себя немного по разному. Обычно все основные команды продолжают работать в своем обычном режиме, но некоторые могут, пусть и не сильно, но изменить свою функциональность.
На нашем сайте мы ориентируемся на самую свежую версию Git. Поэтому, если выходит новая версия, и нужно вносить корректировки в статьи, то мы это сделаем по мере возможностей. Если вы заметили, что какая-то команда изменила свое поведение, и об этом на сайте не сказано, напишите, пожалуйста, в комментариях к соответствующей статье.
Смотрите также:
- Как изменить файлы в старом коммите (не последнем)
- Как добавить все файлы в коммит, кроме одного
- Как создать ветку из предыдущего коммита
- Команда Git stash. Как прятать изменения в Git
- Как показать файлы, которые будут добавлены в текущий коммит
- Как добавить коммит
- Как отменить коммит
- Как восстановить файл
- Как изменить комментарий к коммиту
- Как отменить git add
Использование Git — необходимое условия для всех, кто работает разработчиком. Однако для начинающего специалиста это может показаться сложным. В Git много особенностей, с которыми приходится знакомиться в работе. Чтобы упростить знакомство с Git, собрали в этой статье все самые необходимые команды, которые пригодятся на первое время. В статье рассказываем, как начать работать с Git и не сойти с ума.
Содержание
- ЧТО ТАКОЕ СИСТЕМА КОНТРОЛЯ ВЕРСИЙ
- ЧТО ТАКОЕ GIT
- УСТАНОВКА GIT
- НАСТРОЙКА GIT
- СОЗДАНИЕ НОВОГО РЕПОЗИТОРИЯ
- ПОДГОТОВКА ФАЙЛОВ
- РАБОТА С ВЕТКАМИ
- ПАМЯТКА ПО КОМАНДАМ
- ПОЛЕЗНЫЕ МАТЕРИАЛЫ
Что такое система контроля версий
Система контроля версий (VCS) — ПО для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий, следить за изменениями, возвращаться к предыдущему состоянию в случае ошибки и многое другое.
Самый простой пример — Google Документы, которые позволяют посмотреть изменения в документе.
Основные задачи:
- отслеживание истории изменений
- откат изменений
- совместная работа
Существует несколько видом систем контроля версий. Глобально они все подразделяются на:
- локальные
- централизованные
- распределённые
ЛОКАЛЬНЫЕ VCS
RCS, SCCS
Это такое ПО, которое работает в рамках локальной машины. Такие системы хранят на диске наборы патчей (различий между файлами) в специальном формате, применяя которые она может воссоздавать состояние каждого файла в заданный момент времени.
SCCS (Source Code Control System) считается одной из первых успешных систем управления версиями. Она была разработана в 1972 году.
Эти системы до сих пор используются в некоторых операционных системах и другом ПО, но они имеют ряд значительных недостатков. С такими системами можно работать только в рамках одного файла и имеют ограниченный функционал.
Локальные VCS
ЦЕНТРАЛИЗОВАННЫЕ VCS
CVS, SourceSafe, Subversion
Такие системы, используют единственный сервер, содержащий все версии файлов, и некоторое количество клиентов, которые получают файлы из этого централизованного хранилища (репозиторий). Они были достаточно долго популярными и являлись флагманами VCS лет 15 назад. Главный недостаток — вся история хранится на центральном сервере, и в случае неполадок с ним, историю практически невозможно восстановить, она будет утеряна.
Централизованные VCS
РАСПРЕДЕЛЕННЫЕ VCS
Git, Mercurial, Bazaar
В отличие от централизованных, они хранят информацию не только на центральном сервере. В таких системах клиенты не просто скачивают снимок всех файлов (состояние файлов на определенный момент времени) — они полностью копируют репозиторий. Сейчас это самые распространённые системы управлениям версиями.
Распределённые VCS
ЧТО ТАКОЕ GIT
Git — система управления версиями с распределенной архитектурой.
Разработана в 2005 году Линусом Торвальдсом, более известный как автор ядра Linux.
Является абсолютным лидером по популярности среди современных VCS.
Git в двух словах
Каждое сохранённое изменение проекта — это коммит. У каждого коммита есть комментарий, то есть объяснение того, что изменилось. Из таких коммитов собирается ветка (branch). Ветка — это история изменений со своим названием. В репозитории может быть несколько веток, которые создаются из других веток или вливаются в них.
Основные термины
Репозиторий — каталог файловой системы, в котором находятся: файлы конфигурации, файлы журналов операций, выполняемых над репозиторием, индекс расположения файлов и хранилище, содержащее сами контролируемые файлы.
Локальный репозиторий — репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на удаленный репозиторий.
Удаленный репозиторий — репозиторий, находящийся на удаленном сервере. Это общий репозиторий, в который приходят все изменения, и из которого забираются все обновления.
Коммит (Commit) — зафиксированное состояние репозитория.
У коммита есть метаданные: идентификатор, имя автора, дата создания, комментарий.
Ветка (Branch) — это отдельная история изменений (коммитов) в рамках одного репозитория. Git поощряет создание отдельных веток для каждой решаемой задачи, благодаря чему и достигается эффективная параллельная работа — каждый разработчик может работать со своей историей и не бояться, что изменения в чужом коде повлияют на его работу
Слияние (Merge) — слияние изменений из какой-либо ветки репозитория с любой веткой этого же репозитория.
Клонирование (Clone) — скачивание репозитория с удаленного сервера на локальный компьютер в определённый каталог для дальнейшей работы с этим каталогом как с репозиторием.
Пул (Pull) — получение последних изменений с удалённого сервера репозитория.
Пуш (Push) — отправка всех неотправленных коммитов на удалённый сервер репозитория.
УСТАНОВКА GIT
Чтобы приступить к работе с Git, необходимо установить его на свою машину. Это довольно просто:
- Windows — нужно скачать .exe файл и запустить его. Для работы достаточно bash консоли.
- Linux — обычно Git уже установлен и есть в дистрибутивах. Чтобы проверить, есть ли Git, откройте терминал и пропишите: git —version. В Ubuntu Git можно установить через терминал. Для этого введите sudo apt-get install git
- MacOS — здесь также проверьте, установлен ли Git. Если у вас есть XCode, то Git точно есть. Если всё же нет, самый простой путь — скачать последнюю версию отсюда.
НАСТРОЙКА GIT
Теперь, когда Git установлен на вашей машине, нужно его настроить. Есть много опций, с которыми можно экспериментировать. У гита есть настройка пользователя, от которого будет идти работа. Когда создаётся коммит, гит собирает эту информацию для поля Author.
Чтобы настроить имя пользователя и адрес электронной почты для всех проектов, необходимо прописать:
git config —global user.name «Ivan Ivanov»
git config —global user.email ivan.ivanov@gmail.com
СОЗДАНИЕ НОВОГО РЕПОЗИТОРИЯ
Гит хранит все файлы прямо в папке проекта. Чтобы создать новый репозиторий, нужно зайти в папку проекта и выполнить команду git init. После этого будет создана папка .git в том месте, где находится консоль.
.git — это папка, в которой содержится вся информация о репозитории. Это системная папка, которую трогать больше не надо. У каждого файла есть состояние. Состояния в гите надо понять и запомнить:
- файл, который только что создан и не добавлен в репозиторий — untracked;
- измененный файл в репозитории — modified;
- из изменённых файлов выбираем только те, которые нужны нам, и они попадают в состояние staged;
- из staged создаётся коммит и переходит в гит репозиторий. После всего этого staged состояние пустое, а modified может что-то содержать.
Чтобы узнать состояние файла используем команду git status.
Пояснение из официальной документации
ПОДГОТОВКА ФАЙЛОВ
Перед добавлением файлов в локальное хранилище их нужно подготовить. Для этого есть команда git add или git add -A. Можно добавить всё или лишь некоторые файлы.
Чтобы добавить отслеживание новых файлов, необходимо использовать команду git add. для добавления нескольких файлов по имени.
Чтобы удалить файлы, необходимо использовать команду git rm <filename> <filename> для удаления нескольких файлов по имени.
После того как все изменения внесены, можно их зафиксировать. Для этого необходимо ввести команду git commit -m “Комментарий к коммиту”.
Если вы внесли изменения, но хотите их быстро отменить, то используйте команду git reset.
Чтобы отправить локальную копию репозитория, на которой производились все действия, на сервер, есть команда git push.
РАБОТА С ВЕТКАМИ
Команда git checkout -b branch-name создаст ветку с указанным именем и автоматически переключится на неё.
После создания ветки, её можно отправить на сервер с помощью команды git push origin branch-name.
Переключиться на любую локальную ветку можно с помощью команды git checkout branch-name.
МУСОР
В репозитории после работы могут остаться различные ненужные, неотслеживаемые файлы и прочий мусор. Чтобы избавиться от этого, есть команда git clean -f -d.
ПАМЯТКА ПО КОМАНДАМ
Есть множество команд для работы с Git. Здесь будут перечислены некоторые команды, которые позволяют выполнять базовые действия с Git. На практике работа с репозиториями ведётся не через консоль, а с использованием визуальных редакторов, либо средств, которые встроены в средства для разработки ПО.
git init — создание пустого репозитория.
git clone <url> <path> — клонирование удаленного репозитория.
git status — просмотр текущих изменений.
git add — добавить файл в локальный репозиторий.
git commit — зафиксировать коммит в локальном репозитории.
git commit -m «Description» — описание коммита в локальном репозитории. Это очень важный момент, так как информация должна лаконично описывать внесённые изменения.
git push — отправка изменений в удаленный репозиторий.
git pull — получение изменений из удалённого репозитория.
git log — просмотр истории изменений.
НАБОР КОМАНД ДЛЯ РАБОТЫ С ВЕТКАМИ
git branch — просмотр списка веток. Текущая ветка будет отмечена (*).
git branch <name> — создать новую ветку с именем name.
git checkout <name> — переключиться на ветку name.
git checkout -b <name> — создать новую ветку с именем name и переключиться на нее.
git push <remote> <name> — отправить ветку в удаленный репозиторий.
git branch -d <name> — удалить ветку с именем name в локальном репозитории.
git push <remote> —delete <name> — удалить ветку с именем name в удаленном репозитории.
git merge <name> — слияние текущей ветки с веткой name.
ПОЛЕЗНЫЕ МАТЕРИАЛЫ
Бесплатный тренажёр по Git
Памятка по работе с проблемами
Официальный гайд по Git
Лекция Академии MediaSoft про Git
- #git
- #портфолио
- #карьера
- #техническое_задание
статьи по теме
Первые шаги в GIT + GITHUB + VS CODE 👶
Рано или поздно у разработчика наступает момент, когда разработка вида «хренак, хренак и в продакшен» уже не устраивает и требуются системы, которые бы работали как сохранения в игре, и в любой момент можно вернуться к определенному шагу разработки. Такие системы называют системами контроля версий, их очень много, но речь сегодня пойдет именно про GIT.
Что такое GIT
Git — система управления контроля версиями, репозитории Git содержат файлы, историю, конфигурации управляемые Git. Данные могут отправляться из локальной папки в Git репозиторий и обратно, локальное состояние подразумевает рабочую папку которая содержит измененные файлы готовые для помещения в .git каталог, при помещении в данный каталог — Commit, указываются комментарии к данному коммиту, что по факту является историей, удаленный репозиторий содержит ветки Branches, основная ветка называется Master, данные могут отправляться как в Master, так и другие ветки (ответвления) проекта.
GIT является одной из самых популярных систем. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.
В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.
В мире разработки такие программы называют «терминал» или «консоль». А работает это так: мы вводим команду и получаем реакцию машины: сообщение об ошибке, запрос на подтверждение информации, результат выполненных действий.
Установка GIT
Если вы ранее не работали с GIT, то для начала его нужно установить. В зависимости от системы нужно выбрать свой вариант
Установка GIT в Linux (Ubuntu)
В зависимости от вашего дистрибутива Linux требуется установить через консоль, например в убунту эта команда будет иметь следующий вид:
Команды для других дистрибутивов можно посмотреть здесь.
Установка на macOS
- Скачиваем Git со страницы проекта.
- Запускаем загруженный файл.
- Система может показать окно с ошибкой, где будет написано, что файл скачан с неавторизованного сайта и инсталлятор не может быть запущен. В таком случае нужно зайти в «Системные настройки» — «Безопасность» (Security and Privacy), в появившемся окне будет сообщение об ошибке и кнопка Open anyway (Всё равно открыть). Нажимаем.
- Система покажет окно, уточняющее хотите ли вы запустить установку. Подтверждаем действие.
- Установщик проведёт через все необходимые шаги.
Установка в Windows
Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.
Проверим, что Git установлен.
После того, как все действия по установке завершены, убедимся, что Git появился в системе компьютера. Откройте терминал и введите git --version
, должна появиться текущая версия программы на вашей машине. Эта проверка подходит для всех операционных систем.
Настройка Git
После установки производим настройку своего профиля вводя в терминал поочереди команды:
git config --global user.name "ВАШЕ_ИМЯ"
git config --global user.email АДРЕС
Заменив значения ВАШЕ_ИМЯ
и АДРЕС
вашими значениями.
После указания своих данных, можно их просмотреть:
git config --global --list
Обратите внимание, что в командах, указанных выше, есть опция --global
. Это значит, что такие данные будут сохранены для всех ваших действий в Git и вводить их больше не надо. Если вы хотите менять эту информацию для разных проектов, то в директории проекта вводите эти же команды, только без опции --global
.
GITHUB
GitHub — веб-сервис, который основан на системе Git. Это такая социальная сеть для разработчиков, которая помогает удобно вести коллективную разработку IT-проектов. Здесь можно публиковать и редактировать свой код, комментировать чужие наработки, следить за новостями других пользователей. Именно в GitHub работаем мы, команда Академии, и студенты интенсивов.
Чтобы начать работу с GitHub, нужно зарегистрироваться на сайте, если вы ещё этого не сделали.
После того как у вас будет создан аккаунт в Github можно будет начать полноценно работать с ним.
Копирование репозитория Git в локальную папку
Для начала определим, что такое репозиторий. Это рабочая директория с вашим проектом. По сути, это та же папка с HTML, CSS, JavaScript и прочими файлами, что хранится у вас на компьютере, но находится на сервере GitHub. Поэтому вы можете работать с проектом удалённо на любой машине, не переживая, что какие-то из ваших файлов потеряются — все данные будут в репозитории при условии, что вы их туда отправите. Но об этом позже.
Копировать или клонировать репу c GitHub можно по HTTPS или SSH.
Команда для копирования репозитория:
git clone ССЫЛКА_НА_РЕПОЗИТОРИЙ
После клонирования переходим в папку репозитория:
Смотрим статус:
Добавление данных в Git или коммит (commit)
Создаем файл с текстом:
echo "This example Git text file" > example.txt
Смотрим статус:
Видим, что у нас есть файл готовый для загрузки в Git, добавляем его в репозиторий:
Снова смотрим статус, видим что у нас появился новый файл example.txt, добавляем данный файл в репозиторий используя git commit:
git commit -m "This first example text file"
Отправка данных в онлайн Git репозиторий
Отправить данные в репу можно используя команду git push:
После ввода аутентификационных данных, произойдет отправка в онлайн репозиторий, после чего можно обновить страницу на GitHub дабы убедиться в том, что новый файл добавлен в него (репозиторий).
Обратите внимание, что если вы используете двухфакторную авторизацию на github и являетесь пользователем linux, то вам нужно в настройках, в разделе «Developers setting» создать новый
Personal access tokens
и данный токкен использовать вместо пароля при аутентификации.
VISUAL STUDIO CODE
Данное ПО является хорошим выбором для комфортной работы с GIT и GITHUB. В VS Code есть встроенный терминал, который можно вызвать с помощью комбинации клавиш:
Внутри данного терминала вы можете использовать теже команды для работы с GIT которые были описаны выше.
Настройка терминала VS Code в Windows
По умолчанию консоль VS Code в Windows запускает стандартную командную строку Windows, которая не может работать с GIT, чтобы все работало нужно запустить терминал bash
, для этого выполним следующие действия:
- Убедимся, что ранее нами был скачан и установлен git, подробнее данный процесс был описан выше.
- Запускаем Visual Studio Code.
- Зажимаем сочетание клавиш
Ctrl + Shift + P
вводимopen user setting
и из выпадающего меню выбираемOpen User Settings
. - В параметры поиска вводим
terminal.integrated.shell.windows
и заменяемcmd.exe
наC:\Program Files\Git\bin\bash.exe
(если вы установили git в другую директорию то ссылка будет иметь вид относительно установленной вами директории). - Перезагружаем Visual Stuio Code
- Открываем терминал и проверяем, что запущен bash терминал
Полезные ссылки по данной теме
sys-adm.in/programming/623-git-for-beginning.html
htmlacademy.ru/blog/187-git-console
Типичные команды пользователя | |
Установка | |
—version: Узнать версию Git | |
config: Задать имя пользователя Git | |
init: Инициализация репозитория Git | |
status: Текущее состояние репозитория | |
add: Добавить файл в staging area | |
reset: Удалить файл из staging area | |
restore: Удалить незаписанные изменения | |
commit: Записать изменения | |
checkout — . : Восстановить последний коммит | |
chechout .: Восстановить удалённый файл | |
clone: Клонировать удалённый репозиторий | |
remote, push, pull, clone,GitLab, Github … | |
branch: Ветки | |
файл .gitignore: игнорировать определённые файлы | |
git hash-object | |
Другие статьи про Git |
Кратко
Проверяем обстановку
git status
Добавляем файл который хотим закоммитить
git add index.html
Убираем файл который не хотим сейчас коммитить
git reset file.txt
Коммитим с комментарием
git commit -m ‘Лучшие самоучители на сайте www.andreyolegovich.ru’
Стэйджим и коммитим с комментарием одной командой
git commit -am ‘Наш любимый сайт www.HeiHei.ru’
Пушим на сервер в мастер
git push origin master
Установка Git
В
Ubuntu
,
Debian
и подобных ОС нужно выполнить
sudo apt install git
В
Rocky
,
CentOS
,
RedHat и похожих:
sudo yum install git
Для
Windows
скачать Git можно
здесь
про установку есть подробная статья
«Установка Git в Windows»
Узнать версию установленного Git
Узнать версию установленного Git можно с помощью опции version
$ git —version
git version 2.22.0.windows.1
Пользователь
Задать имя активного пользовотеля
$ git config —global user.name «Andrei»
Проверить имя активного пользовотеля
$ git config user.name
Andrei
Задать email активного пользовотеля
$ git config —global user.email «www.aolegovich.ru@andreyolegovich.ru»
init
Начать отслеживать изменения — инициализаци или начало работы Git
$ git init
Initialized empty Git repository in C:/Users/aolegovich/Desktop/Sites/hello-world/.git/
По умолчанию репозиторий хранится в подкаталоге с названием «.git» в
корневом каталоге рабочей копии дерева файлов, хранящегося в репозитории.
Любое файловое дерево в системе можно превратить в репозиторий git, отдав команду создания репозитория
из корневого каталога этого дерева (или указав корневой каталог в параметрах программы)
Важно понимать, что инициализировать репозиторий нужно в директории с проектом.
На одном копьютере могут быть десятки проектов и каждый из них может иметь свой репозиторий,
который, в свою очередь может быть подлючён к github, gilab или куда-то ещё.
Перейдя из одной директории в другую вы перемещаетесь между этими репозиториями. Благодаря файлам
.gitinit git автоматически понимает, что вы уже в другом месте и работаете с
другим проектом.
Можно настроить ваш терминал
bash
или zsh так, чтобы он показывал вам
с каким именно репозиторием вы работаете и какая ветка активна.
Создать файл
$ touch index.html
status
Посмотреть свежие изменения в репозитории
$ git status
Если интересует только текущая директория
git status .
On branch master
No commits yet
Untracked files:
(use «git add <file>…» to include in what will be committed)
index.html
nothing added to commit but untracked files present (use «git add» to track)
Файл, в котором произошли изменения выделен красным
add
Добавить файл в группу файлов, которые Вы планируете зафиксировать (staging area)
$ git add index.html
Если файлов много и Вы хотите добавить все используйте
git add -A
Добавить все файлы из текущей директории
git add .
Посмотреть свежие изменения в репозитории
git status
On branch master
No commits yet
Changes to be committed:
(use «git rm —cached <file>…» to unstage)
new file: index.html
Файл, который был добавлен в staging area выделен зелёным
Удалить файл из staging area
Если вы добавили что-то лишнее
$ git reset имя_файла
restore: удалить незаписанные изменения
Если файл добавлен в staging area, и при этом все незаписанные
изменения нужно отменить подойдёт команда restore
$ git restore имя_файла
Пример
touch test.txt
git add test.txt
echo «abc» >> test.txt
cat test.txt
abc
git restore test.txt
cat test.txt
Файл вернулся в исходное состояние — стал пустым.
commit
Зафиксировать изменения — записать изменения файла в репозиторий.
$ git commit -m ‘Мой первый коммит.’
[master (root-commit) e2d3195] My first commit.
1 file changed, 1 insertion(+)
create mode 100644 index.html
Вернуть файл к последнему закоммиченному состоянию
$ git checkout — .
Восстановить удалённый файл, если он не закоммичен можно выполнив
$ git checkout .
clone
Клонировать другой репозиторий
$ git clone https://github.com/Project/Project.git
Cloning into ‘welcome-to-git’…
remote: Enumerating objects: 9, done.
remote: Total 9 (delta 0), reused 0 (delta 0), pack-reused 9
Unpacking objects: 100% (9/9), done.
Либо по SSH
$ git clone git@gitlab.com:Project/Project.git
Синтаксис выбирается в зависимости от типа авторизации: паролем, по ключу и т.д.
.gitignore
Часто бывает нежелательным отслеживать все изменения до единого.
Если Вы хотите
сфокусироваться на основном коде, можно создать файл
.gitignore
и добавить туда
расширения файлов, которые Вы не будете добавлять в репозиторий.
Пример файла
.gitignore
в котором мы указываету git не следить за ошибками, логами
директорией .tmp и модулями
nodejs
# Ignoring:
*.err
*.log
node_modules/
.tmp/
git hash-object
$ echo «HeiHei.ru» | git hash-object —stdin
0bdb2c54a9617d62b661102a4862b417d7bdde9b
Git | |
Установка в Windows | |
Установка TortoiseGit | |
Перейти с HTTPS на SSH | |
.gitignore | |
Необходимые Bash команды | |
Remote | |
GitHub | |
GitLab | |
Ошибки | |
Программирование | |
DevOps | |
SSH | |
Работа с API GitHub |