Перейти к содержимому

Как скопировать ветку git на локальный компьютер

  • автор:

Клонирование и использование репозитория GitHub в Visual Studio Code

Сведения о клонировании общедоступного репозитория из GitHub на локальный компьютер с помощью Visual Studio Code.

Клонировать репозиторий

Действие клонирования репозитория GitHub означает перенос облачного исходного кода в локальную среду разработки.

  • Панель действий
  • Строка состояния
  • Палитра команд
  • Встроенный терминал

Это действие недоступно из этой функции. Выберите другую вкладку.

Это действие недоступно из этой функции. Выберите другую вкладку.

  1. Откройте палитру команд с сочетанием клавиш CTRL SHIFT + + P.
  2. В командной строке палитры введите gitcl , выберите команду Git: Клонировать , а затем выберите «Клонировать» из GitHub и нажмите клавишу ВВОД.
  3. Если появится запрос на ввод URL-адреса репозитория, выберите параметр клонирования из GitHub и нажмите клавишу ВВОД.
  4. Если вам будет предложено войти в GitHub, завершите процесс входа.
  5. Введите azure-samples/js-e2e-express-server в поле URL-адрес репозитория.
  6. Выберите (или создайте) локальный каталог, в который нужно клонировать проект, а затем выберите » Выбрать в качестве назначения репозитория».
  7. Когда появится уведомление с вопросом, нужно ли открыть клонированный репозиторий, выберите вариант Открыть.
git clone https://github.com/YOUR-NAME-OR-ORGANIZATION/YOUR-REPO-NAME 
cd YOUR-REPO-NAME 
code . 

Инициализация нового репозитория

Если у вас еще нет репозитория GitHub, но вы хотите запустить проект локально, инициализируйте папку с помощью Git.

Screenshot of Visual Studio showing the Initialize repository button.

  • Панель действий
  • Строка состояния
  • Палитра команд
  • Встроенный терминал
  1. Выберите элемент управления версиями на панели действий или используйте сочетание клавиш CTRL + SHIFT + G.
  2. Выберите репозиторий Initialize.

Это действие недоступно из этой функции. Выберите другую вкладку.

  1. Откройте палитру команд с сочетанием клавиш CTRL SHIFT + + P.
  2. Отфильтруйте с Git помощью , а затем выберите Initialize repository .
  3. Выберите папку, чтобы выбрать в качестве корневого каталога репозитория.
git init 

Создание ветви для изменений

  • Панель действий
  • Строка состояния
  • Палитра команд
  • Встроенный терминал
  1. Выберите элемент управления версиями на панели действий.
  2. Выберите многоточие (. ) рядом с элементом управления версиями.
  3. Выберите «Ветвь ->Создать ветвь«.
  1. Выберите имя ветви в строке состояния. Откроется палитра команд. Строка состояния находится в нижней части Visual Studio Code.
  2. Выберите в палитре команд элемент Создание ветви.
  3. Введите имя для новой ветви.
  4. Введите имя для новой ветви. Экран «Отображение имени ветви в строке состояния». The branch name is visible in the status bar.
  1. Откройте палитру команд с сочетанием клавиш CTRL SHIFT + + P.
  2. Найдите элемент git branch и выберите Git: Create Branch . Screenshot of a search for `git branch` and select `Git: Create Branch`.
  3. Введите новое имя ветви, например test .
  4. Экран «Отображение имени ветви в строке состояния». Screenshot showing the branch name is visible in the status bar.
  1. Откройте интегрированный терминал из терминала —> новый терминал.
  2. Создайте новую ветвь с помощью MY-BRANCH следующей команды Git:

    git checkout -b MY-BRANCH 

    Фиксация изменений локально

    После внесения изменений в ветвь зафиксируйте изменения.

    Adding the yarn.lock file to Git

    • Панель действий
    • Строка состояния
    • Палитра команд
    • Встроенный терминал
    1. Выберите элемент управления версиями на панели действий.
    2. Введите сообщение о фиксации, а затем нажмите кнопку «Зафиксировать«.

    Это действие недоступно из этой функции. Выберите другую вкладку.

    1. Откройте палитру команд с сочетанием клавиш CTRL SHIFT + + P.
    2. В палитре команд фильтруйте с Git помощью выбора Commit .
    3. Введите сообщение фиксации, а затем нажмите клавишу ВВОД .
    git commit -m "YOUR COMMIT MESSAGE" 

    Отправка локальной ветви в GitHub

    Visual Studio Code status bar, with the push icon highlighted.

    • Панель действий
    • Строка состояния
    • Палитра команд
    • Встроенный терминал
    1. Щелкните значок «Система управления версиями» на панели действий.
    2. Выберите «Опубликовать ветвь«. Если репозиторий не существует на GitHub, он создает репозиторий для вас.
    1. В строке состояния Visual Studio Code выберите значок отправки справа от имени ветви.
    2. Выберите имя удаленного расположения во всплывающем окне. Если вы имеете только одно удаленное расположение, вам не будет предложено выбрать имя такого расположения.
    1. Откройте палитру команд с сочетанием клавиш CTRL SHIFT + + P.
    2. В палитре команд фильтруйте с Git помощью выбора Push .
    3. Если у вас несколько вышестоящий удаленных, выберите удаленный, а затем нажмите клавишу ВВОД .
    1. Откройте интегрированный терминал из терминала —> новый терминал.
    2. Создайте новую ветвь с помощью MY-BRANCH следующей команды Git:

      git push

      Просмотр выходных данных Git

      Вы можете просмотреть команды Git, выполняемые при использовании расширения системы управления версиями. Это помогает отладить при сбое команды.

      Visual Studio Code source control, with the Show Git Output selection highlighted.

      1. Щелкните значок «Система управления версиями» на панели действий.
      2. Щелкните многоточие (. ) и выберите элемент Показать выходные данные Git.

      Инструменты Visual Studio Code для работы с Git и GitHub

      При работе в Visual Studio Code с репозиторием необходимо использовать отдельные средства.

      Icon Информация Доступ из
      Команды Git в палитре команд F1
      Icon for Source control. Расширение системы управления версиями Панель действий
      Icon for GitHub PRs and Issues Расширение запросов на вытягивание и сообщений о проблемах на GitHub Панель действий
      Расширение репозиториев GitHub Вы можете быстро и без труда открыть репозиторий GitHub. Для этого можно выполнить поиск репозиториев GitHub и выбрать команду «Открыть репозиторий» в палитре команд, нажать клавишу F1 или выбрать команду Open GitHub Repository. (Открыть репозиторий GitHub) из удаленного индикатора (зеленая кнопка слева в нижнем углу строки состояния).

      Следующие шаги

      • Узнайте о развертывании веб-приложения
      • Работа с GitHub в Visual Studio Code
      • Использование Visual Studio Code с другими поставщиками систем управления версиями

      Как клонировать нужную ветку?

      Этот вариант склонирует ПОЛНОСТЬЮ весь репозиторий и просто переключится на ветку branch-name:

      git clone http://whatever.git -b branch-name 

      Иногда нужно склонировать ТОЛЬКО конкретную ветку, тогда:

      git clone --branch=branch-name http://whatever.git 

      Еще иногда может потребоваться склонировать репозиторий без многолетней истории его коммитов, тогда нужно использовать параметр —depth=5, где 5 — количество коммитов от последнего:

      git clone --depth=1 --branch=branch-name http://whatever.git 

      Как стянуть ветку из удаленного репозитория?

      Мне нужно стянуть удаленную ветку так, чтобы в папке с проектом оказались только файлы этой новой ветки.

      Так не получается:
      git checkout -b origin/

      • Вопрос задан более трёх лет назад
      • 73027 просмотров

      1 комментарий

      Средний 1 комментарий

      sergey-kuznetsov

      Сергей Кузнецов @sergey-kuznetsov Куратор тега Git

      Эта команда лишь распаковывает из локального репозитория в рабочий каталог, то что мы ранее стянули с внешнего сервера командой git fetch

      Git для начинающих. Урок 2.
      Создание и клонирование репозитория

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

      Что такое репозиторий

      Это каталог в файловой системе, где хранится информация о проекте:

      • файлы и папки проекта
      • история проекта
      • настройки проекта
      • служебная информация

      Информация о репозитории хранится в скрытой папке .git в корне проекта.

      Можно ли работать с git локально

      Да, можно. Но при этом проект находится только на нашей машине и в случае поломки железа или случайной потери данных мы не сможем восстановить проект.

      Локальный репозиторий

      Это репозиторий, который хранится на нашей машине, в рабочей папке проекта. Это та самая скрытая папка .git

      Удаленный репозиторий, зачем он нужен

      Это репозиторий, который хранится в облаке, на сторонних сервисах, специально созданных под работу с проектами git.

      Плюсы удаленного репозитория

      • выполняет роль резервной копии
      • возможность работать в команде
      • некоторые дополнительные возможности, которые предоставляет хостинг. Например, визуализация истории или возможность работать над проектом прямо в веб-интерфейсе

      Что такое клонирование

      Это копирование удаленного репозитория на локальную машину. Обычно это первое действие при работе с проектом. При клонировании на нашу машину копируются файлы и папки проекта и вся его история. То есть мы получаем доступ к истории не с момента начала нашей работы над проектом, а с самого начала проекта.

      Как клонировать готовый проект

      В первую очередь, нужно получить ссылку на проект. Мы можем найти ее сами или получим готовую, например, на новой работе. Возьмем для примера репозиторий vuejs — https://github.com/vuejs/vue.git

      Наберем в командной строке

       $ git clone https://github.com/vuejs/vue.git 

      При этом в текущем каталоге создастся папка vue, в ней окажутся все файлы проекта vue и специальная скрытая папка .git, то есть сам репозиторий, или информация о нем.

      Как клонировать проект в другую папку

      При клонировании по умолчанию создается папка с таким же названием, как и у репозитория. Но можно склонировать репозиторий и в другую папку вот так

       $ git clone https://github.com/vuejs/vue.git vue-new 

      Где vue-new — нужное название папки.

      Свой удаленный репозиторий

      Для своих проектов нам понадобится собственный репозиторий. Можно работать и локально, но плюсы удаленного мы уже рассматривали выше. Теперь нужно выбрать хостинг для наших git-проектов.

      Где держать репозиторий

      Есть множество вариантов, самые известные — это github и bitbucket. Нужно выбирать.

      github или bitbucket

      На самом деле не парьтесь. У них схожий функционал, и в начале работы с git мы не заметим разницы. bitbucket мне нравится больше из-за интерфейса, но в уроках выберем github из-за его большей популярности.

      Чтобы продолжить уроки, нужно зарегистрироваться на github. Если у вас нет там аккаунта, то форму регистрации увидите сразу на главной странице — https://github.com/

      Как создать репозиторий в github

      После регистрации создание репозитория доступно с главной страницы github. При создании нужно указать название проекта и тип (публичный или приватный). На остальное пока не обращаем внимания.

      Права на репозиторий, публичные и приватные

      Есть 2 типа репозиториев:

      • публичный (public), открыт всем
      • приватный (private), доступен только определенному кругу лиц — в первую очередь, нам самим

      Публичные репозитории хороши для opensource-проектов и чтобы показать в резюме. Пока нам это не нужно.

      Для себя будем создавать приватные репозитории. Для этого нам понадобятся ssh-ключи.

      нельзя просто так клонировать приватный репозиторий

      Что такое ssh-ключи

      ssh-ключи используются для идентификации клиента на сервере при подключении по безопасному ssh-протоколу. Другими словами, ssh-ключ нужен для того, чтобы пускать на сервер только определенных клиентов. Только тех, кому разрешен доступ к проекту.

      ssh-ключ не имеет прямого отношения к git, но так репозитории находятся на удаленных серверах, то ssh-ключи используются для разграничения доступа к приватным репозиториям.

      ssh-ключ состоит из пары ключей: публичного и приватного ключа. Это просто 2 текстовых файла:

      • /домашний-каталог/.ssh/id_rsa.pub — публичный
      • /домашний-каталог/.ssh/id_rsa — приватный

      Публичный ключ передается сторонним серверам, например, github, для открытия доступа на эти сервера. Приватный ключ хранится только на нашей машине и никому не передается. То есть когда у нас просят ssh-ключ, чтобы дать доступ на какой-нибудь сервер, мы отдаем именно публичный ключ, id_rsa.pub

      Как сгенерировать ssh-ключ

      ssh-ключи сами собой не появляются, но стоит проверить, возможно, они были установлены раньше. Запустим в терминале команды

       $ cd ~/.ssh $ ls -l 

      Если видим файлы id_rsa и id_rsa.pub — отлично, ключи уже есть.

      Если этих файлов нет, то нужно сгенерировать ключи утилитой ssh-keygen. В Windows она устанавливается вместе с git, в Linux и MacOS при необходимости установите. В Linux, например, вот так

       $ sudo apt install ssh-keygen 

      После этого нужно сгенерировать пару ключей, запустив команду в терминале

       $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 
       $ ls -l total 24 -rw------- 1 sn8 sn8 1675 Feb 11 2017 id_rsa -rw-r--r-- 1 sn8 sn8 392 Feb 11 2017 id_rsa.pub -rw-r--r-- 1 sn8 sn8 5746 Oct 28 21:52 known_hosts 

      Появились файлы id_rsa и id_rsa.pub — значит, ключи успешно сгенерированы.

      known_hosts — это файл, в котором ssh прописывает сервера, на которые мы заходим. При первом подключении к github нужно будет разрешить доступ к github.com (напечатать yes в терминале)

      Как добавить ssh-ключ в настройках github

      Открываем публичный ключ id_rsa.pub и копируем его содержимое. В настройках github ищем раздел «SSH и GPG keys» — https://github.com/settings/keys. Жмем «New SSH key», задаем название ключа, например, имя, и вставляем форму публичный ключ, прямо текстом. Все, теперь у нас есть доступ к нашим приватным репозиториям.

      Два способа создания проекта

      Первый, когда мы начинаем новый проект. Удобнее будет создать репозиторий на github и склонировать пустой проект на локальную машину.

      Второй, когда у нас уже есть проект. Нужно зайти в папку проекта и связать его с уже существующим репозиторием на github. Это называется инициализация.

      Рассмотрим оба способа.

      Пустой проект

      Создаем приватный репозиторий на github, назовем его first-site. Я зарегистрировался под именем Webdevkin, моя ссылка для клонирования будет такая — git@github.com:Webdevkin/first-site.git. Ваша зависит от имени пользователя.

      Идем в командную строку и запускаем

       $ git clone git@github.com:Webdevkin/first-site.git 

      В текущей папке получим новую папку с названием first-site — это и есть наш проект.

      P.S. У вас склонировать этот репозиторий не получится — он закрытый. Создайте свой 🙂

      Непустой проект

      Допустим, у нас на локальной машине уже есть проект second-site. Создаем в github репозиторий second-site. Заходим в папку проекта и выполняем команды

       $ git init $ git add . $ git commit -m "Initial commit" $ git remote add origin git@github.com:Webdevkin/second-site.git $ git push -u origin master 

      Все, можно приступать к работе над проектом. Команды add, commit и push мы разберем в следующих уроках.

      Это единственный урок, в котором мы разбирались с тонкостями репозиториев. В дальнейшем будем считать, что репозиторий = проект.

      Что могу посоветовать

      • github или bitbucket? Для личных проектов неважно, оба сервиса разрешают бесплатно создавать приватные репозитории. Для open source или резюме — github
      • не увлекайтесь клонированием в папку со своим названием. Есть шанс запутаться, самому или коллегам
      • не путайте публичный и приватный ключи. Отдаем вовне только публичный ключ id_rsa.pub
      • при смене рабочей машины можно не генерировать ssh-ключи заново, а скопировать их со старой машины. Тогда не придется заново прописывать новые ключи на серверах

      Немного подробнее о копировании ssh-ключей

      Как скопировать ssh-ключи с одной машины на другую

      Хочу немного затронуть эту тему отдельно. Генерировать ключ на новой машине не обязательно. Но нужно выполнить такие действия

      • Скопировать id_rsa и id_rsa.pub со старой машины на новую
      • Посмотреть права на файлы, возможно, ключи окажутся слишком «открытыми» для записи и потребуется сменить им права доступа — sudo chmod 700 ~/.ssh/*
      • Выполнить команду ssh-add

      Ссылки, которые могут пригодиться

      • github — https://github.com/
      • bitbucket — https://bitbucket.org/
      • подробнее об ssh-ключах (en) — connecting-to-github-with-ssh

      На этом все. В следующем уроке мы сделаем первые изменения в проекте и начнем понимать, в чем заключается прелесть git.

      Спасибо за внимание и до встречи!

      Все уроки курса

      • Вводный урок
      • 1. Установка и базовая настройка git
      • 2. Создание и клонирование репозитория git
      • 3. Делаем первые изменения, git status и git diff
      • 4. Коммиты и история коммитов, git commit, git log и git show
      • 5. Подробнее об истории коммитов. Путешествие по истории
      • 6. Работа с сервером, git push и git pull
      • 7. Ветки — главная фишка git, git branch и git checkout
      • 8. Работа с ветками на сервере, git fetch
      • 9. Слияния или мерджи веток, git merge
      • 10. Конфликты и их разрешение
      • Платная часть курса. Презентация
      • * 11. Работа с gitignore и git exclude
      • * 12. Буфер обмена git, git stash
      • * 13. Копирование коммитов, git cherry-pick
      • * 14. Отмена и редактирование последнего коммита
      • * 15. Отмена произвольного коммита, git revert
      • 16. Склеивание коммитов, git rebase —interactive и git reflog
      • * 17. Зачем склеивать коммиты. Плюсы и минусы сквоша
      • * 18. Работа с git rebase. Отличия от merge
      • * 19. Что такое git push —force и как с ним работать
      • * 20. Ищем баги с помощью git, git bisect
      • * 21. Как и зачем работать с тегами git
      • * 22. Процессы: github flow и git flow
      • * 23. Псевдонимы в git
      • 24. Мердж-реквесты
      • * 25. Форки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *