Git
Установка git
Здесь будет краткая инструкция, как установить git на windows. Для mac и linux инструкции можно найти на этом сайте.
Переходим на страницу загрузки Git.
Нам нужно скачать 64-битную версию. Либо можете скачать его отсюда.
После скачивания запускаем установочный файл.
Во время установки можно везде просто жать Next. Но для интересующихся ниже описано ,за что отвечает каждое Если не знаете, что выбрать в окне, просто переходите к следующему
Здесь нам надо выбрать место, куда установить git
Пункт "Additional icons->On the Desktop" добавляет на рабочий стол ярлыки программ git. Мы будем использовать контекстное меню для запуска консоли git. Поэтому ярлыки не нужны.
Оно будет выглядеть так:
Контекстное меню вызывается в проводнике windows, если нажать правой кнопкой мыши.
Здесь указывается, куда в главное меню добавить ярлыки git.
Здесь указывается редактор текста по умолчанию. Если вам по каким-то причинам нравится Vim, оставьте этот пункт без изменений, но я настоятельно рекомендую вам использовать Notepad++
Для этого нужно выбрать его в выпадающем меню
У git версии разделены по веткам. Ветки - это последовательность коммитов. Здесь git спрашивает, как назвать главную ветку при инициализации репозитория.
Здесь git спрашивает, как его будут использовать. Выбранный пункт по умолчанию позволит работать и из консоли, и из сторонних приложений.
Здесь мы указываем, какое средство SSH будет использовано. Выбираем средство по умолчанию.
Здесь мы указываем, какое средство SSL будет использовано. Выбираем средство по умолчанию. SSL используется для загрузки веб-страниц по защищённому протоколу HTTPS.
Здесь мы указываем кодировку командной-строки, нам нужна стандартная. Кодировка - это по факту таблица кодов символов.
Здесь выбирается эмулятор командной строки для консоли git
Здесь мы выбираем поведение git по умолчанию при загрузки данных из удалённого репозитория. Это делается
командой git pull
.
Здесь мы выбираем диспетчер учётных записей по умолчанию
Здесь мы можем установить дополнительные настройки. Первый пункт разрешает кэширование файлов. Если файл не поменялся, можно его не загружать заново или не генерировать, если уже есть сохранённый. Этот приём называется кэшированием. Второй пункт разрешает символьные ссылки. Они нам нге нужны.
Это окно экспериментальных настроек. Лучше их не трогать. Первый пункт разрешает использование псевдоконсоли.
Это позволяет использовать консольные программы в духе питона. Второй пункт - это системный монитор.
По идее он ускоряет выполнение команд git status
, git add
, git commit
и т.д.
Запускается установка программы
Последнее окно предлагает нам запустить консоль git, если выбрать первый пункт "Launch Git Bash" и просмотреть страницу с заметками о текущей версии программы, если выбрать второй пункт "View Release Notes".
Теперь в контекстном меню появится два новых пункта
Выберем пункт "Git Bash Here", запустится консоль git. Все команды вводятся в ней.
Конфигурация git
Для работы с git уже всё готово, но нам нужно задать некоторые параметры для более удобной работы.
Запустим git консоль через контекстное меню
Дальше я не буду приводить скрины, а просто буду писать команды, которые я передаю git, и его ответы.
Посмотрим на список файлов настройки git
git config --list --show-origin
Получим:
file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
file:C:/Program Files/Git/etc/gitconfig core.fscache=true
file:C:/Program Files/Git/etc/gitconfig core.symlinks=false
file:C:/Program Files/Git/etc/gitconfig pull.rebase=false
file:C:/Program Files/Git/etc/gitconfig credential.helper=manager-core
file:C:/Program Files/Git/etc/gitconfig credential.https://dev.azure.com.usehttppath=true
file:C:/Program Files/Git/etc/gitconfig init.defaultbranch=master
Все строки начинаются с пути файла настроек, который хранит ту или иную опцию, потом её название, потом через символ
"=" её значение. Например, первая строка говорит нам, что параметр diff.astextplain.textconv
лежит в файле
file:C:/Program Files/Git/etc/gitconfig
и равен astextplain
.
Если вы захотите поменять какие-то настройки, просто откройте удобным для вас редактором файл настроек (если при утановке вы ничего не меняли, то он должен лежать там же, где и у меня). Но редактор надо запустить от имени администратора. Для этого нужно кликнуть правой кнопкой мыши и выбрать пункт "запуск от имени администратора"
В появившемся окне жмём кнопку "Да". Когда программа запустится, нажмите в верхнем меню "Файл->Открыть..."
Переходим в папку, где лежат настройки git. В моём случае - это C:/Program Files/Git/etc/
но файла настроек не будет видно, потому что по умолчанию блокнот отображает только текстовые файлы с расширением .txt Справа внизу нужно выбрать в выпадающем списке "Все файлы".
теперь нам виден файл настроек, жмём кнопку открыть
Файл настроек выглядит примерно так
Когда закончите изменения, жмите Файл->Сохранить
Неправильная настройка git может нарушить его работу, поэтому не меняйте что-либо если не уверены в том, что делаете.
Нам нужно указать только две настройки: это имя пользователя и почта. Они нужны для синхронзации с удалёнными репозиториями. Да и сами комиты лучше делать настроенным пользователем. Для этого нужно запустить две команды.
Указываем своё имя в двойных кавычках
git config --global user.name "sch"
Указываем почту в двойных кавычках
git config --global user.email sch@buran.rest
Теперь посмотрим снова наши настройки:
git config --list --show-origin
Получим:
file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
file:C:/Program Files/Git/etc/gitconfig core.fscache=true
file:C:/Program Files/Git/etc/gitconfig core.symlinks=false
file:C:/Program Files/Git/etc/gitconfig pull.rebase=false
file:C:/Program Files/Git/etc/gitconfig credential.helper=manager-core
file:C:/Program Files/Git/etc/gitconfig credential.https://dev.azure.com.usehttppath=true
file:C:/Program Files/Git/etc/gitconfig init.defaultbranch=master
file:C:/Users/aokly/.gitconfig user.name=sch
file:C:/Users/aokly/.gitconfig user.email=sch@buran.rest
У нас добавилось две строки, у вас они должны выглядеть немного по-другому. Настройки конкретного пользователя, а не всего гита лежат в домашней директории пользователя.
Помощь
Как и у большинства других консольных пограмм у git есть встроенная справка. Правда, она на английском, но хотя бы посмотреть все возможые команды вы сможете с любым уровнем его знания. Также можно воспользоваться автопереводом, скопировав нужный вам текст в гугл-переводчик.
Введём в консоль
git help
Получим:
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[--super-prefix=<path>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
sparse-checkout Initialize and modify the sparse-checkout
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
Ниже приведён перевод help на русский:
подсказка: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[--super-prefix=<path>] [--config-env=<name>=<envvar>]
<command> [<args>]
Здесь представлены основные команды Git, используемые в различных ситуациях:
построение рабочего пространства (см. также: git help tutorial)
clone Клонирует репозиторий в новую директорию
init Создаёт пустой Git репозиторий или реинициализирует существующий
работа с текущими изменениями (см. также: git help everyday)
add Добавить файл в индексацию
mv Переместить или переименовать файл или символьную ссылку
restore Восстановить файлы рабочей директории
rm Удалить файлы из рабочей директории и из индексации
sparse-checkout Инициализирует или изменяет sparse-checkout
изучить историю и состояние (см. также: git help revisions)
bisect Используйте бинарный поиск для того, чтобы найти коммит, приведший к багу
diff Показать изменения между коммитами, фиксациями и рабочей директорией и т. д.
grep Выводит строки, удовлетворяющие паттерну
log Выводит лог коммитов
show Показывает различные типы объектов
status Показывает статус рабочей директории
наращивайте, помечайте и корректируйте свою ветку
branch Отображает список бранчей, используется для редактирования и создания
commit Создаёт новый коммит
merge Объедиение веток
rebase Применение другого коммита поверх базвого
reset Сбрасывает текущее состояние HEAD к базовому
switch Переключается между ветками
tag Отобразить список тэгов, создать, удалить или можифицировать объект тэга подписанный with GPG
сотрудничество (см. также: git help workflows)
fetch Загрузить объекты и ссылки из другого репозитория
pull Извлечение данных из другого репозитория или ветки и интеграция с ними
push Обновить удалённые ссылки, связанные с ассоциированным объектом
'git help -a' and 'git help -g' отображает список доступных подкоманд и некоторые концепты документации.
См. 'git help <command>' или 'git help <concept>'
чтобы прочитать спцифическуюкоманду или концепт.
See 'git help git' for an overview of the system.
По каждой команде можно получить отдельную справку. Например, эта команда открое веб-страницу со справкой по команде init:
git help init