Очень важно поддерживать установку Git в актуальном состоянии, поскольку она предоставляет вам все самые последние функции, улучшения, исправления ошибок и многое другое. Вот как узнать, какой Git вы используете в настоящее время, и как обновить его до последней версии.
Команда для проверки того, какую версию Git вы используете, одинакова как для Windows, так и для Mac. Чтобы проверить свою версию Git, откройте Командная строка (Windows), терминал (Mac) или терминал Linux.
После открытия запустите эту команду:
git —version
Будет возвращена текущая версия Git.
Теперь, когда вы знаете, какую версию Git используете, вы можете решить, хотите вы ее обновить или нет.
Как обновить Git в Windows
Команда, которую вы используете для обновления Git в Windows, зависит от того, какую версию Git вы используете в данный момент. Если вы используете любую версию от 2.14.2 до 2.16.1, запустите эту команду в командной строке:
git update
Если вы используете любую версию после 2.16.1, вам нужно будет вместо этого запустить эту команду:
git update-git-for-windows
Независимо от того, какую команду вам нужно использовать, ваша версия Git обновится или вы получите сообщение о том, что вы обновлены, если вы уже используете последнюю версию.
Если вы используете версию более раннюю, чем 2.14.2, вам необходимо получить последнюю версию установщика из портал загрузки и обновите свою версию Git так же, как при первой установке Git.
Как обновить Git на Mac
Вы можете обновить Git из Терминала на Mac, используя Домашнее пиво, популярный менеджер пакетов для Mac. Скорее всего, у вас уже установлен Homebrew, если вы используете Git на своем Mac, но если нет, вы можете установить Homebrew, выполнив эту команду, а затем следуя инструкциям в Терминале:
/ bin / bash -c «$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)»
При установленном Homebrew запустите эту команду из Терминала, чтобы обновить Git:
варить обновление git
Если вы не используете последнюю версию Homebrew, сначала обновится Homebrew. По завершении Git обновится.
В качестве альтернативы вы можете перейти к Git’s портал загрузки и получите последнюю версию установщика.
Как обновить Git в Linux
Если вы используете Git в Linux, Git будет автоматически обновляться всякий раз, когда вы применяете обновление системы. Если вы не знаете, как это сделать, ознакомьтесь с нашими руководствами по обновление Ubuntu и обновление Arch Linux.
С Git можно делать так много интересных вещей, например, устанавливать программное обеспечение или клонировать репозиторий GitHub для работы над проектом. Постоянное обновление Git гарантирует, что у вас всегда будут самые свежие функции, которые 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
Чтобы узнать, установленную версию 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
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
.
Типичные команды пользователя | |
Установка | |
—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 |
Содержание
- Как проверить и обновить версию Git
- Проверьте, какую версию Git вы используете
- Как обновить Git в Windows
- Как обновить Git на Mac
- Как обновить Git в Linux
- Работа с Git через консоль
- Другие материалы по Git
- Система контроля версий Git
- Устанавливаем Git
- Установка в Windows
- Установка на macOS
- Установка в Linux
- Проверим, что Git установлен
- Настройка Git
- Регистрация на GitHub
- Устанавливаем SSH-ключи
- Работа с репозиториями
- Работа с Git
- Как узнать, установлен git или нет?
- Как узнать, установлен ли у меня git?
- Установлен ли git в Windows?
- Поставляется ли Mac с Git?
- Как мне установить Git?
- Как узнать, является ли папка репозиторием git?
- Где хранятся файлы до коммита Git?
- Git для Windows безопасен?
- Как установить Git в Windows?
- Как мне запустить Git?
- Как узнать, установлен ли git на Mac?
- Где git на моем Mac?
- Как использовать Git на Mac?
- Что такое конфигурация Git?
- Как запустить git status?
- Что такое команды git?
- Git для новичков (часть 1)
- Что такое Git и зачем он нужен?
- Как работает
- Установка
- Настройка
- Создание репозитория
- Процесс работы с Git
- Визуальный интерфейс
- Создаем свой первый проект и выкладываем на GitHub
Как проверить и обновить версию Git
Очень важно поддерживать установку Git в актуальном состоянии, поскольку она предоставляет вам все самые последние функции, улучшения, исправления ошибок и многое другое. Вот как узнать, какой Git вы используете в настоящее время, и как обновить его до последней версии.
Проверьте, какую версию Git вы используете
Команда для проверки того, какую версию Git вы используете, одинакова как для Windows, так и для Mac. Чтобы проверить свою версию Git, откройте Командная строка (Windows), терминал (Mac) или терминал Linux.
После открытия запустите эту команду:
Будет возвращена текущая версия Git.
Теперь, когда вы знаете, какую версию Git используете, вы можете решить, хотите вы ее обновить или нет.
Как обновить Git в Windows
Команда, которую вы используете для обновления Git в Windows, зависит от того, какую версию Git вы используете в данный момент. Если вы используете любую версию от 2.14.2 до 2.16.1, запустите эту команду в командной строке:
Если вы используете любую версию после 2.16.1, вам нужно будет вместо этого запустить эту команду:
Независимо от того, какую команду вам нужно использовать, ваша версия Git обновится или вы получите сообщение о том, что вы обновлены, если вы уже используете последнюю версию.
Если вы используете версию более раннюю, чем 2.14.2, вам необходимо получить последнюю версию установщика из портал загрузки и обновите свою версию Git так же, как при первой установке Git.
Как обновить Git на Mac
Вы можете обновить Git из Терминала на Mac, используя Домашнее пиво, популярный менеджер пакетов для Mac. Скорее всего, у вас уже установлен Homebrew, если вы используете Git на своем Mac, но если нет, вы можете установить Homebrew, выполнив эту команду, а затем следуя инструкциям в Терминале:
При установленном Homebrew запустите эту команду из Терминала, чтобы обновить Git:
варить обновление git
Если вы не используете последнюю версию Homebrew, сначала обновится Homebrew. По завершении Git обновится.
В качестве альтернативы вы можете перейти к Git’s портал загрузки и получите последнюю версию установщика.
Как обновить Git в Linux
Если вы используете Git в Linux, Git будет автоматически обновляться всякий раз, когда вы применяете обновление системы. Если вы не знаете, как это сделать, ознакомьтесь с нашими руководствами по обновление Ubuntu и обновление Arch Linux.
С Git можно делать так много интересных вещей, например, устанавливать программное обеспечение или клонировать репозиторий GitHub для работы над проектом. Постоянное обновление Git гарантирует, что у вас всегда будут самые свежие функции, которые Git может предложить.
Источник
Работа с Git через консоль
Другие материалы по Git
Итак, вы получили задание: сделать форк вашего репозитория в GitHub, создать ветку и начать работу. Что за GitHub, какие команды, зачем, а главное, как всем этим пользоваться? Давайте разбираться.
Система контроля версий Git
Для начала определим, что такое система контроля версий.
Так называют программу, которая позволяет хранить разные версии одного и того же документа, легко переключаться между ранними и поздними вариантами, вносить и отслеживать изменения.
Систем контроля версий много и все они работают по принципу компьютерной игры, где вы можете вернуться к месту сохранения, если что-то пошло не так.
Одна из самых популярных систем называется Git. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.
В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.
В мире разработки такие программы называют «терминал» или «консоль». А работает это так: мы вводим команду и получаем реакцию машины: сообщение об ошибке, запрос на подтверждение информации, результат выполненных действий.
Git — важный навык веб-разработчика
А лучший способ научиться программировать — профессия «React-разработчик». В программе три интенсива, прокачка навыков и оплачиваемая стажировка.
Устанавливаем Git
Если раньше вы не работали с Git, сперва его нужно установить. Способы зависят от операционной системы вашего компьютера.
Установка в Windows
Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.
Установка на macOS
Установка в Linux
Используйте обычный менеджер пакетов вашего дистрибутива. Откройте терминал и введите подходящие команды.
Полный список команд для различных дистрибутивов можно посмотреть здесь.
Проверим, что Git установлен
Настройка Git
После того как Git появился на компьютере, нужно ввести свои данные, а именно имя и адрес электронной почты. Ваши действия в Git будут содержать эту информацию.
Регистрация на GitHub
GitHub — веб-сервис, который основан на системе Git. Это такая социальная сеть для разработчиков, которая помогает удобно вести коллективную разработку IT-проектов. Здесь можно публиковать и редактировать свой код, комментировать чужие наработки, следить за новостями других пользователей. Именно в GitHub работаем мы, команда Академии, и студенты интенсивов.
Чтобы начать работу с GitHub, нужно зарегистрироваться на сайте, если вы ещё этого не сделали. За дело.
Теперь у вас есть профиль на GitHub.
Устанавливаем SSH-ключи
Git установлен, профиль на GitHub создан. Осталось добавить SSH-ключ и можно приступать к работе с проектом.
Что такое SSH-ключ и зачем он нужен?
Чтобы работать со своего компьютера с GitHub, иметь доступ к проектам, хранящимся на сервисе, выполнять команды в консоли без постоянного подтверждения пароля, нужно пройти авторизацию у сервера. В этом помогают SSH-ключи.
Каждый SSH-ключ содержит пару: открытый (публичный) и закрытый (приватный) ключ. Открытый ключ отправляется на сервер, его можно не прятать от всех и не переживать, что кто-то его увидит и украдёт. Он бесполезен без своей пары — закрытого ключа. А вот закрытый ключ — секретная часть. Доступ к нему должен быть только у вас.
Вы отправляете какую-то информацию на сервер, где хранится ваш публичный ключ, сервер понимает, что вы это вы, то есть идентифицирует именно вас, и даёт вам какой-то ответ. И только вы можете расшифровать этот ответ, потому что только у вас есть подходящий закрытый ключ. Получается что-то вроде связки логин-пароль только намного безопасней. Ваш пароль кто-то может узнать или подобрать, а чтобы получить ваш приватный SSH-ключ, злоумышленнику придётся взломать ваш компьютер.
Чтобы пройти авторизацию по SSH-ключу, его надо сгенерировать или найти уже ранее созданный ключ на своём компьютере.
Сначала проверим, есть ли уже на компьютере ключ. По умолчанию SSH-ключи хранятся в каталоге
Если проблема осталась, рекомендуем работать в Git Bash.
/.ssh/config файл, чтобы автоматически загрузить ключи в ssh-agent и хранить пароли.
/.ssh права доступа командой chmod 700
Можно пойти другим путём, открыть файл id_rsa.pub прямо в папке и просто скопировать содержимое оттуда.
Нажимаем кнопку New SSH key (новый SSH-ключ). Вводим имя ключа (можно придумать абсолютно любое) в поле Title (название), а в Key (ключ) вставляем сам ключ из буфера обмена. Теперь нажимаем Add SSH key (добавить SSH-ключ).
Добавляем в свой профиль SSH-ключ.
Если всё сделано верно, в списке появится новый ключ.
Успешно добавленный ключ.
Теперь, наконец-то, мы можем начать работу с самим проектом.
Работа с репозиториями
Для начала определим, что такое репозиторий
Это рабочая директория с вашим проектом. По сути, это та же папка с HTML, CSS, JavaScript и прочими файлами, что хранится у вас на компьютере, но находится на сервере GitHub. Поэтому вы можете работать с проектом удалённо на любой машине, не переживая, что какие-то из ваших файлов потеряются — все данные будут в репозитории при условии, что вы их туда отправите. Но об этом позже.
Если над проектом трудится команда разработчиков, как правило, создаётся общий репозиторий, в котором находится рабочая версия проекта (назовём его мастер-репозиторий). При этом каждый пользователь клонирует себе в профиль оригинальный репозиторий и работает именно с копией. Такая копия называется форком. Так как форк — ваша персональная версия мастер-репозитория, в нём вы можете пробовать разные решения, менять код и не бояться что-то сломать в основной версии проекта.
Как сделать форк мастер-репозитория?
Заходим в нужный репозиторий, нажимаем на «вилку» с надписью fork. Форк репозитория создан и находится в вашем профиле на GitHub.
Теперь нужно склонировать форк себе на компьютер, чтобы вести работу с кодом локально. Тут нам и пригодится SSH.
Открываем консоль, переходим в директорию, где хотим сохранить папку с проектом, и вводим команду:
Кстати, если вы хотите, чтобы название папки с проектом у вас на компьютере отличалось от имени репозитория, можете дополнить команду клонирования, добавив в конце другое название:
Теперь, на вашем компьютере, в папке your_project или в той, название которой вы указали самостоятельно, находится полная копия репозитория c GitHub.
Сделали копию репозитория.
Новая ветка.
Эта команда позволяет переключаться между существующими ветками в проекте, после git checkout надо указать название нужной ветки.
Переключаемся между ветками.
После того как вы создали ветку, поработали в ней у себя локально — нужно сохранить результат, чтобы он не пропал и в итоге оказался в репозитории.
Состояние ветки.
Делаем коммит.
Сохранения зафиксированы, всё? Они теперь в репозитории и видны коллегам? Пока нет. Те изменения, которые мы внесли и сохранили, пока локальны. Их нужно послать на GitHub.
Отправляем изменения.
Теперь заходим на страницу нашего форка и создаём пулреквест, чтобы слить свой код с данными в мастер-репозитории. Что такое пулреквест? Это предложение изменить код в репозитории.
Вы исправили код, наставник или техлид одобрил ваши правки и принял пулреквест. Теперь код в мастер-репозитории обновился, а в вашем форке нет, вы ведь не обновляли свою версию репозитория с тех пор, как клонировали её себе на компьютер. Приведём форк в актуальное состояние.
Готово, теперь форк и оригинальный репозиторий находятся в актуальном состоянии.
Источник
Работа с Git
Windows
Для начала скачиваем установочный файл по ссылке и запускаем. Установка предельно простая, все этапы установки представлены на скриншотах ниже, просто сверяем пункты.
Здесь можете выбрать текстовый редактор, который будет использоваться по умолчанию Git’ом. В принципе, можете оставить vim по умолчанию, это вам не понадобится.
Если вывелось что-то похожее, то установка выполнена верно. Если же консоль говорит, что git не является внутренней или внешней командой, исполняемой программой или пакетным файлом, то значит что-то вы установили неправильно. Попробуйте переустановить внимательнее, сверяя все пункты со скриншотами.
Важно! Если до установки командная строка была открыта, ее необходимо перезапустить. Пользователей Linux это не касается.
Давайте создадим парочку текстовых файлов с каким-нибудь содержимым, представим что это и есть наш проект. Можете создать их через файловый менеджер, а можете через консоль.
echo This is the first file >> 1.txt
echo And this is the second file >> 2.txt
Git говорит нам, что отслеживаемых файлов нет. Попробуем их добавить.
GitHub
Для начала, разумеется, необходимо зарегистрироваться, процесс не сложный. Далее на главной странице видим ссылку create a repository, переходим по ней.
BitBucket
В отличие от GitHub этот хостинг предоставляет возможность создания приватного репозитория, доступ к которому будет только у вас и у людей, которым вы его дадите.
После регистрации на главной странице будет кнопка Create repository, перейдя по ней видим похожий интерфейс, как и на GitHub’е.
Описание репозитория можно указать, открыв расширенные настройки (advanced settings).
Для начала нужно получить ссылку на ваш репозиторий.
Для GitHub:
Ссылка находится находится на странице вашего репозитория.
Добавление удаленного репозитория и первый push
Источник
Как узнать, установлен git или нет?
Откройте командную строку Windows (или Git Bash, если вы решили не использовать стандартную командную строку Git Windows во время установки Git). Введите git version, чтобы убедиться, что Git установлен.
Как узнать, установлен ли у меня git?
Установлен ли git в Windows?
По умолчанию Git устанавливается на компьютерах Linux и MacOS в качестве параметра командной строки. Однако Microsoft Windows не включает команду Git.
Поставляется ли Mac с Git?
macOS поставляется с предустановленным git в / usr / bin / git, отмеченным «Apple Git». Если git установлен с использованием Homebrew, он будет в / usr / local / bin / git.
Как мне установить Git?
Шаги по установке Git для Windows
Как узнать, является ли папка репозиторием git?
git; иначе git rev-parse —git-dir 2> / dev / null; fi; Вы можете заключить это в функцию или использовать в скрипте. Что напечатает «истина», если вы находитесь в рабочем дереве репозиториев git.
Где хранятся файлы до коммита Git?
Git хранит полную историю ваших файлов для проекта в специальном каталоге (также известном как папка), который называется репозиторием или репозиторием. Это репо обычно находится в скрытой папке с именем. git сидит рядом с вашими файлами.
Git для Windows безопасен?
Вы можете безопасно установить git-for-windows в дополнение к GitHub Desktop: оба будут игнорировать друг друга. GitHub для Windows — это графический интерфейс для git. … Если у вас работает Github для Windows, значит, у вас также установлен git для Windows.
Как установить Git в Windows?
Установить Git в Windows
Как мне запустить Git?
Введение в Git и GitHub для начинающих (Учебное пособие)
Как узнать, установлен ли git на Mac?
Перед установкой Git рекомендуется проверить, установлен ли он у вас. Для этого просто откройте окно терминала, введите «git —version» и нажмите Enter. В зависимости от полученного ответа к вашей установке будет применимо одно из следующих видео.
Где git на моем Mac?
Программа установки с домашней страницы git по умолчанию устанавливается в / usr / local / git. См. Также этот ответ. Однако, если вы установите XCode4, он установит версию git в / usr / bin.
Как использовать Git на Mac?
Как использовать Git и GitHub на Mac: настройка
Что такое конфигурация Git?
Команда git config — это удобная функция, которая используется для установки значений конфигурации Git на глобальном или локальном уровне проекта. Эти уровни конфигурации соответствуют. текстовые файлы gitconfig. Выполнение git config изменит текстовый файл конфигурации.
Как запустить git status?
Статус Git при создании нового файла
Что такое команды git?
Источник
Git для новичков (часть 1)
Что такое Git и зачем он нужен?
С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.
Репозиторием называют хранилище вашего кода и историю его изменений. Git работает локально и все ваши репозитории хранятся в определенных папках на жестком диске.
Так же ваши репозитории можно хранить и в интернете. Обычно для этого используют три сервиса:
Как работает
В итоге получается очень простой граф, состоящий из одной ветки ( main ) и четырех commit. Все это может превратиться в более сложный граф, состоящий из нескольких веток, которые сливаются в одну.
Об этом мы поговорим в следующих статьях. Для начала разберем работу с одной веткой.
Установка
Основой интерфейс для работы с Git-ом является консоль/терминал. Это не совсем удобно, тем более для новичков, поэтому предлагаю поставить дополнительную программу с графическим интерфейсом (кнопками, графиками и т.д.). О них я расскажу чуть позже.
Но для начала, все же установим сам Git.
Windows. Проходим по этой ссылке, выбираем под вашу ОС (32 или 64 битную), скачиваем и устанавливаем.
Для Mac OS. Открываем терминал и пишем:
Linux. Открываем терминал и вводим следующую команду.
Настройка
Вы установили себе Git и можете им пользоваться. Давайте теперь его настроим, чтобы когда вы создавали commit, указывался автор, кто его создал.
Открываем терминал (Linux и MacOS) или консоль (Windows) и вводим следующие команды.
Создание репозитория
Теперь вы готовы к работе с Git локально на компьютере.
Создадим наш первый репозиторий. Для этого пройдите в папку вашего проекта.
Теперь Git отслеживает изменения файлов вашего проекта. Но, так как вы только создали репозиторий в нем нет вашего кода. Для этого необходимо создать commit.
Отлично. Вы создали свой первый репозиторий и заполнили его первым commit.
Процесс работы с Git
Не стоит после каждого изменения файла делать commit. Чаще всего их создают, когда:
Создан новый функционал
Добавлен новый блок на верстке
Исправлены ошибки по коду
Вы завершили рабочий день и хотите сохранить код
Это поможет держать вашу ветки в чистоте и порядке. Тем самым, вы будете видеть историю изменений по каждому нововведению в вашем проекте, а не по каждому файлу.
Визуальный интерфейс
Как я и говорил ранее, существуют дополнительные программы для облегчения использования Git. Некоторые текстовые редакторы или полноценные среды разработки уже включают в себя вспомогательный интерфейс для работы с ним.
Но существуют и отдельные программы по работе с Git. Могу посоветовать эти:
Я не буду рассказывать как они работают. Предлагаю разобраться с этим самостоятельно.
Создаем свой первый проект и выкладываем на GitHub
Давайте разберемся как это сделать, с помощью среды разработки Visual Studio Code (VS Code).
Перед началом предлагаю зарегистрироваться на GitHub.
Создайте папку, где будет храниться ваш проект. Если такая папка уже есть, то создавать новую не надо.
Установите себе дополнительно анализаторы кода для JavaScript и PHP
Откройте вашу папку, которую создали ранее
После этого у вас появится вот такой интерфейс
Здесь будут располагаться все файлы вашего проекта
Здесь можно работать с Git-ом
Кнопка для создания нового файла
Кнопка для создания новой папки
Давайте теперь перейдем во вкладу для работы с Git-ом.
Откроется вот такое окно:
Кнопка для публикации нашего проекта на GitHub
Вы создали и опубликовали репозиторий на GitHub.
Теперь сделаем изменения в коде и попробуем их снова опубликовать. Перейдите во вкладку с файлами, отредактируйте какой-нибудь файл, не забудьте нажать crtl+s (Windows) или cmd+s (MacOS), чтобы сохранить файл. Вернитесь обратно во вкладу управления Git.
Если посмотреть на значок вкладки Git, то можно увидеть цифру 1 в синем кружке. Она означает, сколько файлов у нас изменено и незакоммичено. Давайте его закоммитим и опубликуем:
Кнопка для просмотра изменений в файле. Необязательно нажимать, указал для справки
Добавляем наш файл для будущего commit
Отправляем наш commit в GitHub
Поздравляю, вы научились создавать commit и отправлять его в GitHub!
Это первая вводная статья по утилите Git. Здесь мы рассмотрели:
Как его устанавливать
Как его настраивать
Как инициализировать репозиторий и создать commit через консоль
Как на примере VS Code, опубликовать свой код на GitHub
Забегая вперед, советую вам погуглить, как работают следующие команды:
P.S. Для облегчения обучения, оставлю вам ссылку на бесплатный тренажер по Git.
Источник