Как клонировать репозиторий в папку
Что такое git Clone и как клонировать репозиторий?
«Клонирование» означает создание идентичных особей естественным или искусственным путем.
Клонирование в Git — это процесс создания идентичной копии удаленного репозитория Git на локальную машину.
Когда мы клонируем репозиторий, все файлы загружаются на локальную машину, но удаленный репозиторий git остается неизменным. Внесение изменений и фиксация их в локальном репозитории (клонированном репозитории) никак не повлияет на удаленный репозиторий, который вы клонировали. Эти изменения, внесенные на локальном компьютере, могут быть синхронизированы с удаленным хранилищем в любое время, когда пользователь захочет.
Как работает клонирование в Git?
Многие люди хотят создать общий репозиторий, чтобы позволить команде разработчиков публиковать свой код на GitHub / GitLab / BitBucket и т. д. Репозиторий, загружаемый в сеть для совместной работы, называется вышестоящим репозиторием или центральным репозиторием.
Центральный репозиторий указывает, что все изменения от всех участников помещаются только в этот репозиторий. Таким образом, это самый обновленный экземпляр репозитория самого себя. Иногда это часто называют исходным хранилищем. Изображение, приведенное ниже, довольно ясно говорит о концепции клонирования.
Что касается приведенного выше изображения, то процесс клонирования работает на следующих этапах:
Клонирование репозитория: пользователь начинает работу с вышестоящего репозитория на GitHub. Процесс начинается с клонирования репозитория на локальную машину. Теперь у пользователя есть точная копия файлов проекта в их системе, чтобы внести изменения.
Внесите необходимые изменения: после клонирования участники вносят свой вклад в хранилище. Вклад в виде редактирования исходных файлов, приводящего либо к исправлению ошибки, либо к добавлению функциональности, либо, возможно, к оптимизации кода. Но суть в том, что все происходит в их локальной системе.
Проталкивание изменений: как только изменения будут сделаны, они могут быть перемещены в вышестоящий репозиторий.
Примечание: владелец репозитория может разрешить / запретить прямые изменения в Центральном репозитории, установить различные уведомления о любом изменении, перенесенном в центральное хранилище и многое другое.
Как использовать команду git Clone
Клонирование в Git может быть сделано на собственном репозитории или в любом другом репозитории.
Как клонировать репозиторий или использовать команду git Clone?
Клонирование репозитория из GitHub — это простой процесс. Но, прежде чем клонировать, пожалуйста, убедитесь, что у вас есть репозиторий на вашем аккаунте GitHub.
Каковы основные различия между раздвоением и клонированием?
Чтобы очистить свой разум от воздуха, если он у вас есть, давайте посмотрим, чем отличаются эти два термина:
Разветвление делается на аккаунт github, а клонирование осуществляется с использованием git. При форке репозитория вы создаете копию исходного репозитория (вышестоящего репозитория), но этот репозиторий остается в вашей учетной записи GitHub. В то же время, когда вы клонируете репозиторий, он копируется на вашу локальную машину с помощью Git.
Раздвоение — это понятие, а клонирование — это процесс. Разветвление — это просто содержащая отдельную копию репозитория команда, которая не участвует в этом процессе. Клонирование выполняется с помощью команды «git clone», и это процесс получения всех файлов кода на локальную машину.
В последнем уроке мы познакомились с командой Git fetch и Read more
Git для начинающих. Урок 2.
Создание и клонирование репозитория
Видеоурок. Часть 1. Практика
Все о репозиториях
Видеоурок. Часть 2
Конспект урока
Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.
Что такое репозиторий
Это каталог в файловой системе, где хранится информация о проекте:
Можно ли работать с git локально
Да, можно. Но при этом проект находится только на нашей машине и в случае поломки железа или случайной потери данных мы не сможем восстановить проект.
Локальный репозиторий
Удаленный репозиторий, зачем он нужен
Это репозиторий, который хранится в облаке, на сторонних сервисах, специально созданных под работу с проектами git.
Плюсы удаленного репозитория
Что такое клонирование
Это копирование удаленного репозитория на локальную машину. Обычно это первое действие при работе с проектом. При клонировании на нашу машину копируются файлы и папки проекта и вся его история. То есть мы получаем доступ к истории не с момента начала нашей работы над проектом, а с самого начала проекта.
Как клонировать готовый проект
Наберем в командной строке
Как клонировать проект в другую папку
При клонировании по умолчанию создается папка с таким же названием, как и у репозитория. Но можно склонировать репозиторий и в другую папку вот так
Свой удаленный репозиторий
Для своих проектов нам понадобится собственный репозиторий. Можно работать и локально, но плюсы удаленного мы уже рассматривали выше. Теперь нужно выбрать хостинг для наших git-проектов.
Где держать репозиторий
На самом деле не парьтесь. У них схожий функционал, и в начале работы с git мы не заметим разницы. bitbucket мне нравится больше из-за интерфейса, но в уроках выберем github из-за его большей популярности.
Как создать репозиторий в github
После регистрации создание репозитория доступно с главной страницы github. При создании нужно указать название проекта и тип (публичный или приватный). На остальное пока не обращаем внимания.
Права на репозиторий, публичные и приватные
Есть 2 типа репозиториев:
Публичные репозитории хороши для opensource-проектов и чтобы показать в резюме. Пока нам это не нужно.
Для себя будем создавать приватные репозитории. Для этого нам понадобятся ssh-ключи.
Что такое ssh-ключи
ssh-ключи используются для идентификации клиента на сервере при подключении по безопасному ssh-протоколу. Другими словами, ssh-ключ нужен для того, чтобы пускать на сервер только определенных клиентов. Только тех, кому разрешен доступ к проекту.
ssh-ключ не имеет прямого отношения к git, но так репозитории находятся на удаленных серверах, то ssh-ключи используются для разграничения доступа к приватным репозиториям.
ssh-ключ состоит из пары ключей: публичного и приватного ключа. Это просто 2 текстовых файла:
Публичный ключ передается сторонним серверам, например, github, для открытия доступа на эти сервера. Приватный ключ хранится только на нашей машине и никому не передается. То есть когда у нас просят ssh-ключ, чтобы дать доступ на какой-нибудь сервер, мы отдаем именно публичный ключ, id_rsa.pub
Как сгенерировать ssh-ключ
ssh-ключи сами собой не появляются, но стоит проверить, возможно, они были установлены раньше. Запустим в терминале команды
Если этих файлов нет, то нужно сгенерировать ключи утилитой ssh-keygen. В Windows она устанавливается вместе с git, в Linux и MacOS при необходимости установите. В Linux, например, вот так
После этого нужно сгенерировать пару ключей, запустив команду в терминале
Как добавить ssh-ключ в настройках github
Два способа создания проекта
Первый, когда мы начинаем новый проект. Удобнее будет создать репозиторий на github и склонировать пустой проект на локальную машину.
Второй, когда у нас уже есть проект. Нужно зайти в папку проекта и связать его с уже существующим репозиторием на github. Это называется инициализация.
Рассмотрим оба способа.
Пустой проект
Идем в командную строку и запускаем
Непустой проект
Допустим, у нас на локальной машине уже есть проект second-site. Создаем в github репозиторий second-site. Заходим в папку проекта и выполняем команды
Все, можно приступать к работе над проектом. Команды add, commit и push мы разберем в следующих уроках.
Это единственный урок, в котором мы разбирались с тонкостями репозиториев. В дальнейшем будем считать, что репозиторий = проект.
Что могу посоветовать
Немного подробнее о копировании ssh-ключей
Как скопировать ssh-ключи с одной машины на другую
Хочу немного затронуть эту тему отдельно. Генерировать ключ на новой машине не обязательно. Но нужно выполнить такие действия
Ссылки, которые могут пригодиться
На этом все. В следующем уроке мы сделаем первые изменения в проекте и начнем понимать, в чем заключается прелесть git.
Клонирование существующего репозитория Git
Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015
Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015
Создайте полную локальную копию существующего репозитория Git путем клонирования. При клонировании репозитория загружаются все фиксации и ветви в репозитории. При клонировании настраивается именованная связь с уже клонированным репозиторием. Используйте эту связь для взаимодействия с существующим репозиторием, отправки и получения изменений для совместного использования кода с вашей командой.
По умолчанию Git назначает в origin удаленный репозиторий, из которого выполняется клонирование. Большинству пользователей не требуется более одного удаленного, поэтому в руководстве используются соответствующие origin действия. Дополнительные сведения о настройке удаленных систем в репозитории Git.
Из этого руководства вы узнаете, как выполнить следующие задачи:
Получение URL-адреса клона в репозитории
Прежде чем можно будет клонировать существующий репозиторий, вам потребуется URL-адрес, указывающий на существующий репозиторий. Этот URL-адрес представляет источник репозитория, который вы собираетесь копировать.
если вы используете Azure Repos, Azure DevOps Server 2019 или Team Foundation Server, этот URL-адрес клона можно найти на веб-портале.
в веб-браузере откройте командный проект для Azure DevOps организации и выберите Repos, а затем — файлы.
Выберите клон в правом верхнем углу.
если необходимо клонировать репозиторий GitHub, необходимо получить URL-адрес клона. Используйте кнопку клонировать или скачать при просмотре репозитория в интернете в GitHub.
Другие поставщики Git имеют аналогичные кнопки в пользовательском интерфейсе для получения URL-адреса клона.
Скопируйте этот URL-адрес в буфер обмена или сохраните его в месте, где его можно легко найти. Нельзя клонировать репозиторий без URL-адреса клона.
Клонирование репозитория
Если вы используете Visual Studio 2019 версии 16.8 или выше, опробуйте систему управления версиями Git. Узнайте, чем интерфейс Git отличается от Team Explorer, на странице наглядного сравнения.
клонирование из Azure Repos и Azure DevOps Server
в Подключение Projectвыберите репозиторий, который нужно клонировать, в списке и выберите клонировать.
Project url-адреса были изменены в выпуске Azure DevOps Services и теперь имеют формат dev.azure.com/
Проверьте расположение клонированного репозитория на компьютере и выберите клонировать.
Клонировать из другого поставщика Git
если вы не используете Azure Repos, вы по-прежнему можете клонировать репозиторий в Team Explorer и работать с кодом в Visual Studio.
Выберите клон в разделе локальные репозитории Git и введите URL-адрес репозитория Git. Этот URL-адрес предоставляется вашей командой или поставщиком размещения Git.
Выберите папку, в которой вы хотите клонировать репозиторий.
открытие решения в Visual Studio из клонированного репозитория
щелкните правой кнопкой мыши репозиторий в представлении Team Explorer Подключение и выберите открыть.
В представлении » Главная » в Team Explorer дважды щелкните файл решения проекта в области » решения «. Решение откроется в Обозреватель решений.
Предварительные требования
Вам потребуется URL-адрес клона, чтобы сообщить Git, какой репозиторий вы хотите клонировать на компьютер. Используйте URL-адрес, скопированный ранее на предыдущем шаге в этой статье.
Используйте этот URL-адрес клона git clone для создания локальной копии репозитория:
git clone Создает точную копию репозитория из URL-адреса в папке текущего. Можно указать имя папки после URL-адреса, чтобы создать репозиторий в определенном расположении, например:
Работаем с репозиториями в Git
Одна из самых распространенных систем управления версиями – Git. Ее ядро добавляет в систему ряд консольных команд, предназначенных для управления репозиториями. В самих же репозиториях хранятся важные каталоги, конфигурационные файлы, журналы и прочие связанные элементы.
Далее я расскажу, как создать, клонировать и удалить эти репозитории.
Следующие инструкции предназначены для тех, кто уже установил Git на свой сервер. Если вы еще не сделали этого, используйте руководство с GitHub, которое поможет разобраться с выполнением поставленной задачи.
Создание Git-репозитория
Сначала рассмотрим создание репозитория. Представим, что у вас уже есть папка для хранения файлов, но она еще не находится под контролем Git.
Откройте «Командную строку» (Windows) или Терминал (Linux/macOS) и перейдите по пути данной папки.
В Linux выполните команду:
В macOS :
В Windows:
Остается только ввести нижеуказанную команду, чтобы завершить первый этап.
Теперь у вас есть Git-репозиторий со всеми необходимыми составляющими и отслеживаемыми файлами.
Клонирование существующего репозитория
При использовании упомянутой команды вы получаете клоны всех версий файлов, а значит, можете использовать любые из них, если что-то пойдет не так. Это же пригождается, когда требуется вернуть предыдущую версию проекта, что осуществимо благодаря файлам, помещенным под версионный контроль.
При использовании вышеуказанной команды репозиторий клонируется с текущим названием. Если же оно должно отличаться, используйте следующую вариацию команды:
Завершим этот раздел статьи описанием содержимого, которое появляется в консоли при выполнении команды. Данный вывод соответствует успешному клонированию:
Удаление локального Git-репозитория
Если с созданием и клонированием репозиториев все понятно, то как быть, когда папка с проектом уже существует, но в нее нужно поместить новые данные, удалив предыдущие, или когда Git-репозиторий на сервере больше не нужен. В таком случае осуществляется стандартное удаление.
В корне каталога с проектом необходимо избавиться от папки .git, о которой уже шла речь выше. Так вы удаляете только ту информацию, которая связана с Git, но сам проект остается. В Linux через Терминал вы должны перейти к каталогу с проектом и ввести следующую команду:
Еще один вариант – удаление .gitignore и .gitmodules в случае их наличия. Тогда команда меняет свой вид на:
Только что мы разобрались с основами создания, клонирования и удаления Git-репозитория. Удачи!
Как вы клонируете репозиторий Git в определенную папку?
Выполнение команды git clone git@github.com:whatever создает каталог в моей текущей папке с именем whatever и помещает содержимое хранилища Git в эту папку:
Моя проблема в том, что мне нужно, чтобы содержимое репозитория Git было клонировано в мой текущий каталог, чтобы оно отображалось в правильном месте для веб-сервера:
Вариант А:
Ergo, для right here использования:
Вариант Б:
Еще лучше:
Сохраните свою рабочую копию где-нибудь еще и создайте символическую ссылку. Нравится:
Для вашего случая это будет что-то вроде:
Который легко можно изменить, чтобы проверить, если вы этого хотите, то есть:
Если вы просто хотите, чтобы это работало, используйте вариант А, если кто-то еще собирается посмотреть на то, что вы сделали, используйте вариант С.
Пример, который я думаю, что многие люди задают этот вопрос, следующий. Если вы находитесь в каталоге, в который вы хотите выгрузить содержимое репозитория git, выполните:
«.» в конце указывается текущая папка как папка оформления заказа.
Базовое клонирование репозитория Git
Вы клонируете репозиторий с
Например, если вы хотите клонировать библиотеку Git Drupal Open Framework Стэнфордского университета под названием open_framework, вы можете сделать это следующим образом:
Клонирование репозитория в определенную локальную папку
Если вы хотите клонировать репозиторий в каталог с именем, отличным от open_framework, вы можете указать это в качестве следующего параметра командной строки:
Эта команда делает то же самое, что и предыдущая, но целевой каталог называется mynewtheme.
Git имеет несколько различных протоколов передачи, которые вы можете использовать. В предыдущем примере используется протокол git: //, но вы также можете увидеть http (s): // или user @ server: /path.git, который использует протокол передачи SSH.
Хотя он по-прежнему будет создавать whatever папку поверх него, поэтому для клонирования содержимого хранилища в текущий каталог используйте следующий синтаксис:
Чтобы клонировать в текущий рабочий каталог :
Чтобы клонировать в другой каталог :
Он содержит репозиторий и вспомогательные файлы, в то время как файлы проекта, которые находятся в вашем /public каталоге, являются только версиями в текущем извлеченном коммите (основная ветвь по умолчанию).
Клонируем «конкретную ветку»:
Если вы хотите клонировать в текущую папку, попробуйте это:
Применение
Вот как я бы это сделал, но я сделал псевдоним, чтобы сделать это для меня.
Вероятно, есть более элегантный способ сделать это, однако я обнаружил, что для меня это проще всего.
Вот псевдоним, который я создал, чтобы ускорить процесс. Я сделал это для zsh, но он должен прекрасно работать для bash или любой другой оболочки, такой как fish, xyzsh, fizsh и так далее.
Однако я предпочитаю создать плагин zsh для отслеживания всех моих псевдонимов. Вы можете создать персональный плагин для oh-my-zsh, выполнив следующие команды:
Затем добавьте эти строки в только что созданный пустой файл alises.plugin:
(Отсюда замените свое имя на мое.)
Затем, чтобы заставить работать псевдонимы, они (вместе с zsh) должны быть получены (или как там это называется). Для этого в вашем документе плагина добавьте: