2.1 Основы Git — Создание Git-репозитория
Если вы хотите начать работать с Git, прочитав всего одну главу, то эта глава — то, что вам нужно. Здесь рассмотрены все базовые команды, необходимые вам для решения подавляющего большинства задач, возникающих при работе с Git. После прочтения этой главы вы научитесь настраивать и инициализировать репозиторий, начинать и прекращать контроль версий файлов, а также подготавливать и фиксировать изменения. Мы также продемонстрируем вам, как настроить в Git игнорирование отдельных файлов или их групп, как быстро и просто отменить ошибочные изменения, как просмотреть историю вашего проекта и изменения между отдельными коммитами (commit), а также как отправлять (push) и получать (pull) изменения в/из удалённого (remote) репозитория.
Создание Git-репозитория
Обычно вы получаете репозиторий Git одним из двух способов:
- Вы можете взять локальный каталог, который в настоящее время не находится под версионным контролем, и превратить его в репозиторий Git, либо
- Вы можете клонировать существующий репозиторий Git из любого места.
В обоих случаях вы получите готовый к работе Git репозиторий на вашем компьютере.
Создание репозитория в существующем каталоге
Если у вас уже есть проект в каталоге, который не находится под версионным контролем Git, то для начала нужно перейти в него. Если вы не делали этого раньше, то для разных операционных систем это выглядит по-разному:
$ cd /home/user/my_project
$ cd /Users/user/my_project
$ cd C:/Users/user/my_project
а затем выполните команду:
$ git init
Эта команда создаёт в текущем каталоге новый подкаталог с именем .git , содержащий все необходимые файлы репозитория — структуру Git репозитория. На этом этапе ваш проект ещё не находится под версионным контролем. Подробное описание файлов, содержащихся в только что созданном вами каталоге .git , приведено в главе Git изнутри
Если вы хотите добавить под версионный контроль существующие файлы (в отличие от пустого каталога), вам стоит добавить их в индекс и осуществить первый коммит изменений. Добиться этого вы сможете запустив команду git add несколько раз, указав индексируемые файлы, а затем выполнив git commit :
$ git add *.c $ git add LICENSE $ git commit -m 'Initial project version'
Мы разберем, что делают эти команды чуть позже. Теперь у вас есть Git-репозиторий с отслеживаемыми файлами и начальным коммитом.
Клонирование существующего репозитория
Для получения копии существующего Git-репозитория, например, проекта, в который вы хотите внести свой вклад, необходимо использовать команду git clone . Если вы знакомы с другими системами контроля версий, такими как Subversion, то заметите, что команда называется «clone», а не «checkout». Это важное различие — вместо того, чтобы просто получить рабочую копию, Git получает копию практически всех данных, которые есть на сервере. При выполнении git clone с сервера забирается (pulled) каждая версия каждого файла из истории проекта. Фактически, если серверный диск выйдет из строя, вы можете использовать любой из клонов на любом из клиентов, для того, чтобы вернуть сервер в то состояние, в котором он находился в момент клонирования (вы можете потерять часть серверных хуков (server-side hooks) и т. п., но все данные, помещённые под версионный контроль, будут сохранены, подробнее об этом смотрите в разделе Установка Git на сервер главы 4).
Клонирование репозитория осуществляется командой git clone . Например, если вы хотите клонировать библиотеку libgit2 , вы можете сделать это следующим образом:
$ git clone https://github.com/libgit2/libgit2
Эта команда создаёт каталог libgit2 , инициализирует в нём подкаталог .git , скачивает все данные для этого репозитория и извлекает рабочую копию последней версии. Если вы перейдёте в только что созданный каталог libgit2 , то увидите в нём файлы проекта, готовые для работы или использования. Для того, чтобы клонировать репозиторий в каталог с именем, отличающимся от libgit2 , необходимо указать желаемое имя, как параметр командной строки:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Эта команда делает всё то же самое, что и предыдущая, только результирующий каталог будет назван mylibgit .
В Git реализовано несколько транспортных протоколов, которые вы можете использовать. В предыдущем примере использовался протокол https:// , вы также можете встретить git:// или user@server:path/to/repo.git , использующий протокол передачи SSH. В разделе Установка Git на сервер главы 4 мы познакомимся со всеми доступными вариантами конфигурации сервера для обеспечения доступа к вашему Git репозиторию, а также рассмотрим их достоинства и недостатки.
Добавление репозитория с локального компьютера в GitHub Desktop
Вы можете добавить любой репозиторий Git в GitHub Desktop, даже если это не репозиторий GitHub.
Platform navigation
Совет. Вы можете добавить репозиторий Git с локального компьютера в GitHub Desktop, перетащив папку в окно GitHub Desktop. Если перетащить в GitHub Desktop несколько папок Git одновременно, каждая из них будет добавлена в виде отдельного репозитория Git.

- В строке меню выберите «Файл«, а затем нажмите кнопку «Добавить локальный репозиторий«.

В окне «Добавить локальный репозиторий» нажмите кнопку » Выбрать. «, а затем используйте окно Finder для перехода к локальному репозиторию, который требуется добавить.

- В строке меню выберите «Файл«, а затем нажмите кнопку «Добавить локальный репозиторий«.

В окне «Добавить локальный репозиторий» нажмите кнопку «Выбрать. «, а затем используйте Windows Обозреватель для перехода к локальному репозиторию, который требуется добавить.
Краткое руководство по репозиториям
Узнайте, как создать новый репозиторий и зафиксировать первое изменение за 5 минут.
Tool navigation
Create a repository
GitHub repositories store a variety of projects. In this guide, you’ll create a repository and commit your first change.
- In the upper-right corner of any page, select

, then click New repository.

Type a short, memorable name for your repository. For example, «hello-world».
Congratulations! You’ve successfully created your first repository, and initialized it with a README file.
To learn more about GitHub CLI, see «About GitHub CLI.»
- In the command line, navigate to the directory where you would like to create a local clone of your new project.
- To create a repository for your project, use the gh repo create subcommand. When prompted, select Create a new repository on GitHub from scratch and enter the name of your new project. If you want your project to belong to an organization instead of to your personal account, specify the organization name and project name with organization-name/project-name .
- Follow the interactive prompts. To clone the repository locally, confirm yes when asked if you would like to clone the remote project directory.
- Alternatively, to skip the prompts supply the repository name and a visibility flag ( —public , —private , or —internal ). For example, gh repo create project-name —public . To clone the repository locally, pass the —clone flag. For more information about possible arguments, see the GitHub CLI manual.
Commit your first change
A commit is like a snapshot of all the files in your project at a particular point in time.
When you created your new repository, you initialized it with a README file. README files are a great place to describe your project in more detail, or add some documentation such as how to install or use your project. The contents of your README file are automatically shown on the front page of your repository.
Let’s commit a change to the README file.

-
In your repository’s list of files, select README.md.

to open the file editor.


Review the changes you made to the file. If you select Show diff, you will see the new content in green.

Now that you have created a project, you can start committing changes.
README files are a great place to describe your project in more detail, or add some documentation such as how to install or use your project. The contents of your README file are automatically shown on the front page of your repository. Follow these steps to add a README file.
- In the command line, navigate to the root directory of your new project. (This directory was created when you ran the gh repo create command.)
- Create a README file with some information about the project.
echo "info about this project" >> README.md
$ git status Untracked files: (use "git add . " to include in what will be committed) README.md nothing added to commit but untracked files present (use "git add" to track)
git add README.md && git commit -m "Add README"
git push --set-upstream origin HEAD
Next steps
You have now created a repository, including a README file, and created your first commit on GitHub.com.
- You can now clone a GitHub repository to create a local copy on your computer. From your local repository you can commit, and create a pull request to update the changes in the upstream repository. For more information, see «Cloning a repository» and «Set up Git.»
- You can find interesting projects and repositories on GitHub and make changes to them by creating a fork of the repository. Forking a repository will allow you to make changes to another repository without affecting the original. For more information, see «Fork a repository.»
- Each repository on GitHub is owned by a person or an organization. You can interact with the people, repositories, and organizations by connecting and following them on GitHub. For more information, see «Finding inspiration on GitHub.»
- GitHub has a great support community where you can ask for help and talk to people from around the world. Join the conversation on GitHub Community.
Добавление существующего проекта в GitHub с помощью GitHub Desktop
Существующий репозиторий Git можно добавить в GitHub с помощью GitHub Desktop.
- С помощью командной строки удалите все команды git remote, настроенные в настоящее время для данного репозитория.
# Show existing remotes $ git remote -v > origin git@git-server/octocat/hello-world.git (fetch) > origin git@git-server/octocat/hello-world.git (push) # Remove existing remotes $ git remote remove origin
