Упражнение. Знакомство с Git
Прежде чем создать первый репозиторий, необходимо убедиться, что Git установлен и настроен. Git поставляется предварительно с Azure Cloud Shell, поэтому мы можем использовать Git в Cloud Shell справа.
Настройка Git
Чтобы дважды проверить, установлен ли Git, в Cloud Shell введите
git --version
:git --version
Подсказка
С помощью кнопки "Копировать " можно скопировать команды в буфер обмена. Чтобы вставить, щелкните правой кнопкой мыши новую строку в терминале Cloud Shell и выберите " Вставить" или используйте сочетание клавиш SHIFT+Insert ("+V в macOS").
Вы увидите выходные данные, которые выглядят примерно так:
git version 2.7.4
Чтобы настроить Git, необходимо определить некоторые глобальные переменные:
user.name
иuser.email
. Вам необходимы оба, чтобы делать коммиты.Задайте имя в Cloud Shell с помощью следующей команды. Замените
<USER_NAME>
на имя пользователя, которое вы хотите использовать.git config --global user.name "<USER_NAME>"
Теперь используйте эту команду, чтобы создать конфигурационную переменную
user.email
, заменив<USER_EMAIL>
на ваш адрес электронной почты.git config --global user.email "<USER_EMAIL>"
Чтобы убедиться в том, что изменения произведены, выполните следующую команду:
git config --list
Проверьте, имеются ли в выходных данных две строки, аналогичные примеру ниже. Имя и адрес электронной почты будут отличаться от того, что показано в примере.
user.name=User Name user.email=user-name@contoso.com
Настройка репозитория Git
Git работает, проверяя изменения файлов в определенной папке. Мы создадим папку для работы в качестве рабочего дерева (каталога проекта) и сообщите Git об этом, чтобы начать отслеживание изменений. Мы сообщаем Git начать отслеживание изменений, инициализировав репозиторий Git в этой папке.
Начните с создания пустой папки для проекта, а затем инициализации репозитория Git внутри него.
Создайте папку с именем Cats. Эта папка будет каталогом проекта, который также называется рабочим деревом. Каталог проекта — это место хранения всех файлов, связанных с проектом. В этом упражнении рассматривается, где хранятся ваш веб-сайт и файлы, создающие веб-сайт и его содержимое.
mkdir Cats
Перейдите в каталог проекта с помощью
cd
команды:cd Cats
Теперь инициализируйте новый репозиторий и задайте имя ветви
main
по умолчанию:Если вы используете Git версии 2.28.0 или более поздней, используйте следующую команду:
git init --initial-branch=main
Или используйте следующую команду:
git init -b main
Для более ранних версий Git используйте следующие команды:
git init git checkout -b main
После выполнения команды инициализации вы увидите выходные данные, аналогичные этому примеру:
Initialized empty Git repository in /home/<user>/Cats/.git/ Switched to a new branch 'main'
Теперь используйте
git status
команду, чтобы отобразить состояние рабочего дерева:git status
Git отвечает на эти выходные данные, указывающие, что
main
это текущая ветвь. (Это также единственная ветвь.) Пока всё в порядке.On branch main No commits yet nothing to commit (create/copy files and use "git add" to track)
ls
Используйте команду для отображения содержимого рабочего дерева:ls -a
Убедитесь, что каталог содержит подкаталог с именем Git. (Использование параметра
-a
вместе сls
важно, потому что Linux обычно скрывает имена файлов и каталогов, начинающиеся с точки.) Эта папка является репозиторием Git — каталогом, в котором Git хранит метаданные и историю рабочего дерева.Как правило, вы не делаете ничего с каталогом .git напрямую. Git обновляет метаданные там по мере изменения состояния рабочего дерева, чтобы отслеживать изменения в файлах. Этот каталог не предназначен для изменений вами, но он невероятно важен для Git.
Получите помощь из Git
Git, как и большинство средств командной строки, имеет встроенную функцию справки, которую можно использовать для поиска команд и ключевых слов.
Введите следующую команду, чтобы получить справку по тому, что можно сделать с помощью Git:
git --help
Команда отображает следующие выходные данные:
usage: git [--version] [--help] [-C <path>] [-c name=value] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p | --paginate | --no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] <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 reset Reset current HEAD to the specified state rm Remove files from the working tree and from the index examine the history and state (see also: git help revisions) bisect Use binary search to find the commit that introduced a bug 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 checkout Switch branches or restore working tree files commit Record changes to the repository diff Show changes between commits, commit and working tree, etc merge Join two or more development histories together rebase Forward-port local commits to the updated upstream head 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.
Ознакомьтесь с различными параметрами, доступными с помощью Git, и обратите внимание, что каждая команда поставляется со своей собственной страницей справки. Пока не все эти команды будут иметь смысл, но некоторые могут выглядеть знакомы, если у вас есть опыт использования VCS.
На следующем занятии вы узнаете больше о командах, которые вы только что попробовали и основы Git.