W3docs

Введение

Краткое описание команд git init, git clone, git config и git alias с примерами типичного использования.

gitconfig

Прежде чем начать отслеживать изменения, создавать ветки или вести совместную работу, вам нужен репозиторий Git — папка .git, в которой Git хранит полную историю вашего проекта. В этом разделе рассматриваются четыре команды, к которым вы будете обращаться каждый раз при начале работы с репозиторием:

  • git init — превращает обычную папку в новый пустой репозиторий.
  • git clone — копирует существующий репозиторий (обычно с сервера) на ваш компьютер.
  • git config — задаёт вашу идентификацию и настраивает поведение Git.
  • Git aliases — создаёт короткие запоминающиеся имена для команд, которые вы часто вводите.

Каждая команда описана на отдельной странице; это введение даёт общее представление и краткий справочник, чтобы вы знали, какую команду использовать и когда. Если Git ещё не установлен, начните с Install Git.

git init

Команда git init превращает текущую директорию в новый пустой репозиторий Git. Она создаёт скрытую поддиректорию .git, содержащую всё необходимое для отслеживания проекта: хранилище объектов, область индексирования (индекс), ссылки и HEAD по умолчанию. Пока эта директория не существует, Git не имеет ничего для отслеживания.

Используйте git init, когда начинаете с нуля или хотите поставить существующий локальный проект под контроль версий. Рабочие файлы при этом не изменяются и не фиксируются автоматически — init только подготавливает инфраструктуру.

# Start a brand-new project in the current folder
git init

# Or create the folder and initialize it in one step
git init my-project

Выполнение команды в уже инициализированной папке безопасно: Git выведет Reinitialized existing Git repository и оставит историю нетронутой.

git clone

Команда git clone создаёт локальную копию существующего репозитория, включая полную историю коммитов, и настраивает связь с оригиналом. Именно так большинство участников начинают работу над проектом: вы клонируете репозиторий один раз, а затем выполняете pull и push.

При клонировании источник автоматически добавляется как remote с именем origin, переключается ветка по умолчанию и создаются ветки удалённого отслеживания, чтобы Git знал, как выглядят ветки на сервере.

# Clone into a folder named after the repo
git clone https://github.com/user/project.git

# Clone into a custom folder name
git clone https://github.com/user/project.git my-folder

Используйте clone вместо init всякий раз, когда проект уже существует где-то ещё — вы почти никогда не используете git init для репозитория, который уже есть на сервере.

git config

Команда git config читает и записывает переменные конфигурации Git, управляющие всем: от вашей идентификации при коммите до поведения и цветов вывода. Конфигурация существует на трёх уровнях, каждый из которых имеет приоритет над вышестоящим:

  • --system — применяется ко всем пользователям на машине.
  • --global — применяется к текущему пользователю (хранится в ~/.gitconfig).
  • --local — применяется только к текущему репозиторию (используется по умолчанию, если уровень не указан).

Первое, что должен сделать каждый новый пользователь Git, — задать своё имя и адрес электронной почты, поскольку они проставляются в каждом коммите:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

Чтобы прочитать значение или вывести все настройки, используйте:

# Read one setting
git config --global user.name

# List all effective settings and where each came from
git config --list --show-origin

git alias

Git alias — это сокращение, которое сопоставляет короткое имя с более длинной командой. Отдельной команды git alias не существует — псевдонимы представляют собой записи конфигурации, создаваемые с помощью git config (или путём прямого редактирования ~/.gitconfig). Настройте их один раз, и они будут экономить ваши нажатия клавиш.

# Now "git co" runs "git checkout"
git config --global alias.co checkout

# A richer alias: a compact, graphical log
git config --global alias.lg "log --oneline --graph --all"

После определения приведённых выше псевдонимов git co main работает точно так же, как git checkout main, а git lg выводит сжатый граф истории. Смотрите git alias для получения информации о расширенных псевдонимах, включая псевдонимы для shell-команд.

Всё вместе

Типичная первоначальная настройка выглядит следующим образом — задайте идентификацию один раз, а затем создайте новый репозиторий или клонируйте существующий:

# 1. One-time identity setup (do this once per machine)
git config --global user.name "Ada Lovelace"
git config --global user.email "[email protected]"

# 2a. Start a new project...
git init my-app

# 2b. ...or grab an existing one
git clone https://github.com/user/my-app.git

Теперь вы готовы добавлять изменения с помощью git add и фиксировать их с помощью git commit.

Practice

Практика
Каковы назначения различных команд Git?
Каковы назначения различных команд Git?
Was this page helpful?