Skip to main content

Git

Установка git

Здесь будет краткая инструкция, как установить git на windows. Для mac и linux инструкции можно найти на этом сайте.

Переходим на страницу загрузки Git.

Нам нужно скачать 64-битную версию. Либо можете скачать его отсюда.

После скачивания запускаем установочный файл.

cmd

Во время установки можно везде просто жать Next. Но для интересующихся ниже описано ,за что отвечает каждое Если не знаете, что выбрать в окне, просто переходите к следующему

cmd

Здесь нам надо выбрать место, куда установить git

cmd

Пункт "Additional icons->On the Desktop" добавляет на рабочий стол ярлыки программ git. Мы будем использовать контекстное меню для запуска консоли git. Поэтому ярлыки не нужны.

cmd

Оно будет выглядеть так: cmd

Контекстное меню вызывается в проводнике windows, если нажать правой кнопкой мыши.

Здесь указывается, куда в главное меню добавить ярлыки git. cmd

Здесь указывается редактор текста по умолчанию. Если вам по каким-то причинам нравится Vim, оставьте этот пункт без изменений, но я настоятельно рекомендую вам использовать Notepad++

cmd

Для этого нужно выбрать его в выпадающем меню

cmd

У git версии разделены по веткам. Ветки - это последовательность коммитов. Здесь git спрашивает, как назвать главную ветку при инициализации репозитория.

cmd

Здесь git спрашивает, как его будут использовать. Выбранный пункт по умолчанию позволит работать и из консоли, и из сторонних приложений.

cmd

Здесь мы указываем, какое средство SSH будет использовано. Выбираем средство по умолчанию.

cmd

Здесь мы указываем, какое средство SSL будет использовано. Выбираем средство по умолчанию. SSL используется для загрузки веб-страниц по защищённому протоколу HTTPS.

cmd

Здесь мы указываем кодировку командной-строки, нам нужна стандартная. Кодировка - это по факту таблица кодов символов.

cmd

Здесь выбирается эмулятор командной строки для консоли git

cmd

Здесь мы выбираем поведение git по умолчанию при загрузки данных из удалённого репозитория. Это делается командой git pull.

cmd

Здесь мы выбираем диспетчер учётных записей по умолчанию

cmd

Здесь мы можем установить дополнительные настройки. Первый пункт разрешает кэширование файлов. Если файл не поменялся, можно его не загружать заново или не генерировать, если уже есть сохранённый. Этот приём называется кэшированием. Второй пункт разрешает символьные ссылки. Они нам нге нужны.

cmd

Это окно экспериментальных настроек. Лучше их не трогать. Первый пункт разрешает использование псевдоконсоли. Это позволяет использовать консольные программы в духе питона. Второй пункт - это системный монитор. По идее он ускоряет выполнение команд git status, git add, git commit и т.д.

cmd

Запускается установка программы

cmd

Последнее окно предлагает нам запустить консоль git, если выбрать первый пункт "Launch Git Bash" и просмотреть страницу с заметками о текущей версии программы, если выбрать второй пункт "View Release Notes".

cmd

Теперь в контекстном меню появится два новых пункта

cmd

Выберем пункт "Git Bash Here", запустится консоль git. Все команды вводятся в ней.

cmd

Конфигурация git

Для работы с git уже всё готово, но нам нужно задать некоторые параметры для более удобной работы.

Запустим git консоль через контекстное меню

cmd

Дальше я не буду приводить скрины, а просто буду писать команды, которые я передаю 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.

Если вы захотите поменять какие-то настройки, просто откройте удобным для вас редактором файл настроек (если при утановке вы ничего не меняли, то он должен лежать там же, где и у меня). Но редактор надо запустить от имени администратора. Для этого нужно кликнуть правой кнопкой мыши и выбрать пункт "запуск от имени администратора"

cmd

В появившемся окне жмём кнопку "Да". Когда программа запустится, нажмите в верхнем меню "Файл->Открыть..."

Переходим в папку, где лежат настройки git. В моём случае - это C:/Program Files/Git/etc/

cmd

но файла настроек не будет видно, потому что по умолчанию блокнот отображает только текстовые файлы с расширением .txt Справа внизу нужно выбрать в выпадающем списке "Все файлы".

cmd

теперь нам виден файл настроек, жмём кнопку открыть

cmd

Файл настроек выглядит примерно так

cmd

Когда закончите изменения, жмите Файл->Сохранить

cmd

Будьте осторожны

Неправильная настройка 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

cmd