Git - это система контроля версий, программа, которая позволяет хранить разные версии одного и того же документа, легко переключаться между ранними и поздними вариантами, вносить и отслеживать изменения.
Конспект по командам Git https://www.evernote.com/shard/s368/
Справочная документация (учебник) - по ссылке http://git-scm.com/book/ru/v2/
GitHub — веб-сервис, основанный на системе Git, социальная сеть для разработчиков, которая помогает вести коллективную разработку IT-проектов и позволяет:
- публиковать и редактировать свой код;
- комментировать чужие наработки;
- следить за новостями других пользователей.
Git Bash — это приложение для сред Microsoft Windows, которое предоставляет эмуляцию bash (командной оболочки), используемую для запуска Git из командной строки.
После установки Git Bash эти утилиты будут установлены в папку C:\Program Files\Git\bin.
Скачать Git Bash можно с официального сайта https://git-scm.com/.
Для изменения терминала Visual Studio Code по умолчанию с Windows PowerShell на Git Bash необходимо:
- установить Git Bash на компьютер;
- выбрать терминал по умолчанию в окне Visual Studio Code, нажав клавишу F1 и набрав (выбрав) пункт меню Terminal: Select Default Profile;
- в раскрывшемся окне выбрать Git Bash.
ВАЖНО! Git Bash должен быть установлен в папку C:\Program Files. При установке в другую папку подключить Git Bash к VS Code не получится. Кроме того, именования папок, с которыми вы будете работать в дальнейшем, должны быть на латинице и не содержать пробелов.
Можно также напрямую изменить настройки терминала по умолчанию в JSON файле.
Перейдите в меню File > Preferences > Settings (или нажмите Ctrl + , ), затем щелкните крайний левый значок в правом верхнем углу («Открыть настройки (JSON)»):
В окне настроек JSON измените строку "terminal.integrated.automationShell.windows", указав расположение исполняемого файла bash.exe "C: \\ WINDOWS \\ System32 \\ bash.exe":
Для работы с Git необходимо:
- зарегистрироваться на github.com;
- установить Git на компьютер в папку C:\Program Files;
- сгенерировать SSH ключи, введя в терминале Git Bash команду ssh-keygen -t rsa -b 4096 -C "your_mail@example.com" (подробнее здесь);
Основные команды Git Bash
Все команды - для консоли Git Bash (для командной строки).
Проверка настроек
Если вы хотите проверить используемую конфигурацию, можете использовать команду git config --list, чтобы показать все настройки, которые Git найдёт:
1 |
$ git config --list |
Некоторые ключи (названия) настроек могут отображаться несколько раз, потому что Git читает настройки из разных файлов (например, из /etc/gitconfig и ~/.gitconfig). В таком случае Git использует последнее значение для каждого ключа.
Проверить значение конкретного ключа:
1 2 |
$ git config user.name John Doe |
Посмотреть все установленные настройки и узнать где именно они заданы:
1 |
$ git config --list --show-origin |
Указать ваше имя и адрес электронной почты:
1 2 |
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com |
(каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена)
Опция --global устанавливает, что Git будет использовать эти данные для всего, что вы делаете в этой системе. Если для каких-то отдельных проектов вы хотите указать другое имя или электронную почту, можно выполнить эту же команду без параметра --global в каталоге с нужным проектом.
Настройка ветки по умолчанию
При инициализации репозитория командой git init, Git создаёт ветку с именем master по умолчанию. Начиная с версии 2.28, вы можете задать другое имя для создания ветки по умолчанию, например, чтобы установить имя main для вашей ветки по умолчанию:
1 |
$ git config --global init.defaultBranch main |
Если вам нужна помощь при использовании Git, есть три способа открыть страницу руководства по любой команде Git:
1 2 3 |
$ git help <команда> $ git <команда> --help $ man git-<команда> |
Например, так можно открыть руководство по команде git config:
1 |
$ git help config |
Этими командами можно пользоваться всегда, даже без подключения к сети.
Если нужно посмотреть только список опций (без полной документации по команде), вы можете использовать опцию -h для вывода краткой инструкции по использованию:
1 |
$ git add -h |
clear — очистить консоль
Навигация
- pwd - показать текущий каталог;
- ls - показать файлы в данной папке (кроме скрытых);
- ls -f - показать все файлы в данной папке (включая скрытые);
- cd c:/ - перейти в конкретный каталог диска С:/;
- cd - - вернуться назад;
- cd .. - выйти на 1 уровень вверх;
- cd ../.. - выйти на 2 уровня вверх.
Создание каталогов
- mkdir - создать папку;
- cd !$ - перейти в только что созданную папку;
- mkdir -p {catalog_1,catalog_2} - cоздать сразу несколько папок (лишних пробелов быть не должно);
- mkdir -p app/{css,js} - создать сразу несколько вложенных папок (лишних пробелов быть не должно).
Создание файлов
- touch index.html - создать файл index.html;
- touch app/{css/main.css,js/main.js,index.html} - создать несколько файлов (лишних пробелов быть не должно)
Удаление файлов
- rm test - удалить пустую папку test;
- rm -r test - удалить папку test с файлами внутри неё.
Перемещение файлов
- mv app1/*.* app2 - переместить все файлы из папки app1 в папку app2.
Коммит - сохранение, фиксация (в архиве, репозитарии и др.) изменений (снимков во времени) программного кода.
- git add - добавляет содержимое рабочего каталога в индекс (staging area) для последующего коммита; по умолчанию git commit использует лишь этот индекс, так что вы можете использовать git add для сборки слепка вашего следующего коммита;
- git status - показывает состояния файлов в рабочем каталоге и индексе: какие файлы изменены, но не добавлены в индекс; какие ожидают коммита в индексе; выводятся подсказки о том, как изменить состояние файлов;
- git diff - используется для вычисления разницы между любыми двумя Git деревьями (это может быть разница между вашей рабочей копией и индексом - собственно git diff, разница между индексом и последним коммитом - git diff --staged, или между любыми двумя коммитами - git diff master branchB);
- git difftool - запускает внешнюю утилиту сравнения для показа различий в двух деревьях, на случай если вы хотите использовать что-либо отличное от встроенного просмотрщика git diff;
- git commit - берёт все данные, добавленные в индекс с помощью git add, и сохраняет их слепок во внутренней базе данных, а затем сдвигает указатель текущей ветки на этот слепок;
- git reset - используется в основном для отмены изменений (изменяет указатель HEAD и, опционально, состояние индекса, также эта команда может изменить файлы в рабочем каталоге при использовании параметра --hard, что может привести к потере наработок при неправильном использовании, так что убедитесь в серьёзности своих намерений прежде чем использовать его);
- git rm - используется для удаления файлов из индекса и рабочей копии (похожа на git add с тем лишь исключением, что она удаляет, а не добавляет файлы для следующего коммита);
- git mv - удобный способ переместить файл, а затем выполнить git add для нового файла и git rm для старого;
- git clean - используется для удаления мусора из рабочего каталога (это могут быть результаты сборки проекта или файлы конфликтов слияний).