{"meta":{"title":"Начало работы с Git","intro":"Ознакомьтесь с основами Git, выполнив пример сценария.","product":"Начало работы","breadcrumbs":[{"href":"/ru/get-started","title":"Начало работы"},{"href":"/ru/get-started/learning-to-code","title":"Узнайте, как кодировать"},{"href":"/ru/get-started/learning-to-code/getting-started-with-git","title":"Начало работы с Git"}],"documentType":"article"},"body":"# Начало работы с Git\n\nОзнакомьтесь с основами Git, выполнив пример сценария.\n\nВы когда-нибудь хотели, чтобы у вас был компьютер времени для кода? Ну, Git именно это, и так многое другое!\n\nЕсли вы не знакомы с Git, это **система управления** версиями, которая помогает отслеживать изменения в коде. Вы можете сохранить моментальный снимок проекта в определенный момент времени, а затем внести экспериментальные изменения, не рискуя работой, так как вы всегда можете вернуться к моментальному снимку.\n\nGitHub — это платформа, созданная вокруг Git, что позволяет сохранять проекты Git в облаке и работать с ними с другими разработчиками.\n\nХотя Git может быть сложным, это мощный и необходимый инструмент для любого разработчика. В этой статье приведены все инструменты, необходимые для использования Git в повседневном рабочем процессе.\n\n## Необходимые компоненты\n\nЧтобы следовать этому руководству, необходимо [установить Visual Studio Code](https://code.visualstudio.com/download).\n\n## Основы обучения Git с помощью GitHub Desktop\n\nДля стандартных операций Git рекомендуется GitHub Desktop, приложение, которое позволяет визуально взаимодействовать с Git, а не с помощью записанных команд. В этом разделе описано, как использовать GitHub Desktop для быстрого выполнения наиболее распространенных операций Git.\n\n### Настройка GitHub Desktop\n\nЕсли вы впервые используете GitHub Desktop, необходимо установить его и подключить учетную запись GitHub .\n\n1. [Скачайте GitHub Desktop](https://desktop.github.com/download/).\n2. Откройте GitHub Desktop, а затем нажмите кнопку **github.com и авторизовать GitHub Desktop** для доступа к вашей учетной записи.\n3. Вернитесь в GitHub Desktop, нажмите кнопку **\"Готово**\". Это добавит имя и электронную почту из учетной записи GitHub в Git.\n\n### Создание локального репозитория\n\nТеперь вы можете выполнить первые шаги в Git, создав репозиторий\\*\\*\\*\\*. Думайте о репозитории как папке проекта, которая отслеживает изменения и сохраняет журнал. Сначала мы создадим локальный\\*\\* репозиторий\\*\\*:\n\n1. В GitHub Desktopнажмите кнопку **\"Создать репозиторий\" на локальном диске**.\n2. Присвойте репозиторию `learning-git`имя.\n3. Выберите **инициализировать этот репозиторий с помощью README** , чтобы автоматически создать пустой `README.md` файл.\n\n   > \\[!TIP] Стандартная практика включения `README.md` файла, также известного как README, в проекты. READMEs обычно содержат сведения, которые помогают другим пользователям понять, настроить и запустить проект.\n4. Щелкните **Создать репозиторий**.\n\n### Создание удаленный репозиторий\n\nЛокальный репозиторий, который вы только что создали на компьютере. Теперь создадим удаленный\\*\\* репозиторий \\*\\*для того же проекта, который будет размещен на GitHub. Связывание удаленный репозиторий упрощает совместную работу и резервное копирование работы.\n\n1. В GitHub Desktopнажмите кнопку **\"Опубликовать репозиторий**\".\n2. В появившемся всплывающем окне нажмите кнопку **\"Опубликовать репозиторий** \" еще раз.\n3. Чтобы просмотреть удаленный репозиторий, щелкните **\"Просмотреть\" GitHub**.\n\n### Настройка пространства для внесения изменений\n\nТеперь, когда вы создали репозиторий, поговорим о **ветвях**. Ветви по сути копируют проект, где можно протестировать изменения, не рискуя стабильностью существующей работы.\n\nРепозитории автоматически создаются с `main` помощью ветви, которую можно рассматривать как стабильную, основную версию проекта. Например, в репозитории для веб-сайта `main` филиал соответствует сайту, который могут видеть посетители.\n\nПри создании новой ветви вы создаете безопасное пространство для работы с новой функцией, не затрагивая основную версию. Вы и ваши сотрудники могут использовать разные ветви для одновременной работы над несколькими функциями.\n\nСоздадим ветвь для работы с изменениями в нашем репозитории:\n\n1. В GitHub Desktopвыберите раскрывающееся меню <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-git-branch\" aria-label=\"git-branch\" role=\"img\"><path d=\"M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z\"></path></svg> **Текущее раскрывающееся меню ветви** , а затем нажмите кнопку **\"Создать ветвь**\".\n2. Назовите новую ветвь, а затем нажмите кнопку **\"Создать ветвь\".`readme-updates`**\n\n### Сохранение моментальных снимков проекта\n\nЧтобы сохранить ход выполнения в ветви, сделайте фиксацию\\*\\*\\*\\*. Фиксация — это моментальный снимок проекта в определенный момент времени. Вы уже сделали первую фиксацию: при инициализации проекта с помощью README GitHub Desktop автоматически создали начальную фиксацию для добавления `README.md` файла.\n\nКаждый раз, когда вы завершите фрагмент работы, которую вы хотите сохранить, необходимо сделать фиксацию. После этого вы всегда можете вернуться к этому моменту времени, независимо от того, сколько изменений вы вносите в будущем.\n\n1. В GitHub Desktopнажмите кнопку **\"Открыть\" в Visual Studio Code**.\n\n2. В VS Codeвставьте следующий текст `README.md` и сохраните изменения:\n\n   ```markdown copy\n   Hello, World!\n\n   This is a demo project for learning how to use Git.\n   ```\n\n3. В GitHub Desktopвы увидите обновления, которые вы только что сделали в README. В левом нижнем углу рядом с изображением профиля GitHub в текстовом поле введите \"Update README\". Это называется сообщением \\*\\*\\*\\* фиксации и помогает отслеживать изменения, внесенные в каждую фиксацию.\n\n4. Чтобы сделать фиксацию, нажмите кнопку **\"Зафиксировать\" для чтения обновлений**.\n\n### Внесение изменений в основную ветвь\n\nКогда вы удовлетворены изменениями, внесенными в ветвь, вы можете опубликовать ветвь в удаленный репозиторий и создать **запрос** на вытягивание. Запросы на вытягивание позволяют просматривать набор предлагаемых изменений, а затем объединять их из одной ветви в другую. В нашем случае мы создадим запрос на вытягивание, который приводит изменения, внесенные в `readme-updates` исходную ветвь, `main`.\n\n1. Нажмите кнопку `readme-updates` с изменениями в удаленный репозиторий.\n\n2. Чтобы просмотреть предложенные изменения, нажмите кнопку **\"Предварительный просмотр запроса** на вытягивание\".\n\n3. Щелкните **Создать запрос на вытягивание**.\n\n4. В появившемся окне GitHub измените название запроса на вытягивание на \"Добавить сообщение в README\", а затем напишите краткое описание изменений в поле комментария.\n\n5. Нажмите **\"Создать pull request\"**.\n\n6. Чтобы перенести изменения в `main` ветвь, в нижней части страницы нажмите кнопку **\"Объединить запрос** на вытягивание\".\n\n   > \\[!NOTE] Когда вы работаете над проектом с другими разработчиками, это стандартная практика для кого-то другого, чтобы просмотреть запрос на вытягивание, прежде чем он объединен.\n\n7. В нижней части страницы нажмите кнопку **\"Удалить ветвь**\". Удаление ветвей, которые были объединены в `main` репозиторий, помогает обеспечить чистоту и простоту навигации в репозитории.\n\n### Подготовка к внесению дополнительных изменений\n\nПоздравляем с объединением первого запроса на вытягивание! Теперь, когда вы успешно ввели изменения в `main` ветвь, необходимо выполнить несколько шагов, чтобы подготовиться к следующему раунду изменений:\n\n1. В GitHub Desktop, если вы не используете ветвь `main` , выберите раскрывающееся меню \"git-branch\" aria-hidden=\"true\" aria-label=\"git-branch\" %} **Текущее раскрывающееся меню \"Ветвь** ветвь\", а затем щелкните **main**.\n\n   Прежде чем создавать новую ветвь, следует почти всегда переключаться на `main` ветвь, так как новые ветви создаются как копии выбранной ветви.\n2. Чтобы проверить, были ли внесенные изменения в удаленную `main` ветвь, щелкните **\"Получить источник**\".\n3. Наконец, чтобы обновить локальную `main` ветвь с изменениями в удаленной `main` ветви, щелкните **\"Вытягивание источника**\".\n\nТеперь у вас есть все навыки, необходимые для настройки и использования Git в проекте!\n\n## Погружение в Git в командной строке\n\nGitHub Desktop предназначен для решения повседневных потребностей Git. При росте в качестве разработчика, скорее всего, вам придется столкнуться с некоторыми необычными ситуациями, когда требуется больше контроля над операцией Git, или вам нужно использовать более сложные команды. В этих экземплярах необходимо переключиться на использование написанных команд Git в командной строке.\n\n### Настройка командной строки\n\nПрежде чем приступить к работе с командной строкой, необходимо настроить несколько средств.\n\n1. В GitHub Desktopнажмите клавиши \\`<kbd></kbd>, чтобы открыть проект в командной строке.\n2. Если используете Windows, [install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git). Для macOS и Linux по умолчанию устанавливается Git.\n3. [Установите GitHub CLI](https://github.com/cli/cli?tab=readme-ov-file#installation), что позволяет быстро выполнять действияGitHub, связанные с командной строкой.\n4. Чтобы выполнить проверку подлинности в GitHub из GitHub CLI, выполните следующую команду:\n\n   ```shell copy\n   gh auth login\n   ```\n\n   Выберите проверку подлинности с помощью **github.com**, а затем следуйте инструкциям на экране.\n5. Установите интерфейс командной строки GitHub Copilot, чтобы использовать Copilot из командной строки. См [. раздел AUTOTITLE](/ru/copilot/how-tos/set-up/install-copilot-cli).\n\n### Экспериментирование с сложными командами\n\nТеперь, когда вы настроили, давайте узнаем, как найти и понять команды, которые могут потребоваться в будущем. Например, предположим, что вы видели кого-то онлайн упоминания `git blame`, но вы не знаете, что это делает. Попробуйте попросить Copilot объяснить это с помощью следующей команды:\n\n```shell copy\ngh copilot explain \"git blame\"\n```\n\nCopilot сообщает нам, что `git blame` предоставляет подробный журнал файла, показывающий автора и фиксацию, которая в последний раз изменила каждую строку в файле. Попробуйте выполнить следующую команду:\n\n```shell copy\ngit blame README.md\n```\n\nЭто отличный инструмент, но, как вы можете себе представить, вина за файл может получить очень долго. Предположим, что вы заинтересованы только в последнем обновлении в определенной строке в файле. Вы можете попросить Copilot создать правильную команду:\n\n```shell copy\ngh copilot suggest \"Show me the blame for line 1 of README.md\"\n```\n\nКогда Copilot запрашивает нужную команду, используйте клавиши со стрелками для выбора **команды** Git, а затем нажмите клавишу <kbd>ВВОД</kbd>. Затем Copilot предложит следующую команду:\n\n```shell copy\ngit blame -L 1,1 README.md\n```\n\nИспользуйте клавиши со стрелками, чтобы выбрать **команду** Execute, а затем нажмите клавишу <kbd>ВВОД</kbd>. Вы увидите автора и фиксацию последней измененной строки 1 `README.md`.\n\n## Просмотр и дальнейшие действия\n\nВ этой статье мы рассмотрели основы Git с GitHub Desktop, изучая важные термины, такие как:\n\n* **Репозиторий**: папка, которая сохраняет все изменения, внесенные в файлы в проекте.\n* **Фиксация**: моментальный снимок проекта в определенный момент времени.\n* **Ветвь**: копия проекта, в которой можно работать над набором изменений.\n* **Запрос** на вытягивание: запрос на слияние изменений из одной ветви в другую.\n\nМы также говорили о выполнении более сложных операций Git в командной строке. Мы пытались `gh copilot explain` изучить и `gh copilot suggest` найти новые команды и функциональные возможности.\n\nТеперь попробуйте применить то, что вы узнали в своей работе. Добавьте Git в существующий проект с GitHub Desktop, нажав <kbd>Ctrl</kbd>+<kbd>O</kbd> (Windows/Linux) или <kbd>Command</kbd>+<kbd>O</kbd> (Mac) и испытайте преимущества контроля версий самостоятельно!"}