Как клонировать папку из гит репозитория
Перейти к содержимому

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

  • автор:

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

В этом посте мы обсудим, как клонировать репозиторий Git в определенную папку.

Стандартный подход к клонированию заключается в том, что репозиторий использует git-clone команда. Но когда вы просто клонируете репозиторий с git clone , он создает новый каталог с именем репозитория по текущему пути в файловой системе и клонирует репозиторий внутри него.

Если вы хотите клонировать удаленный репозиторий в определенный каталог, вы можете указать его путь:

$ git clone

Здесь, это путь к каталогу для клонирования. Это показано ниже, где клонирование выполняется в существующий локальный каталог.

git clone directory

Если вы хотите клонировать репозиторий git в текущий каталог, вы можете сделать следующее:

Вот, точка (.) представляет текущий каталог.

git clone .

В качестве альтернативы вы можете использовать git [-C

] возможность указать корневой каталог. Это работает, поскольку git возьмет на себя как текущий рабочий каталог.

$ git -C clone

Обратите внимание, что это создает новый каталог с именем репозитория в указанном каталоге и клонирует репозиторий внутри него, как показано ниже:

git -C directory clone

Однако вы можете клонировать в существующий каталог только тогда, когда он пуст. В противном случае git сообщит, что путь назначения уже существует и не является пустым каталогом.

git error – not an empty directory

Если место назначения не пусто, вы можете сделать так:

# create and initialize an empty repository
$ git init

# add a remote named origin for the repository at
$ git remote add origin

# do a git-fetch
$ git fetch

# check out the master branch
$ git checkout master

Этот подход демонстрируется ниже:

git fetch

Это все о клонировании репозитория Git в определенную папку.

Оценить этот пост

Средний рейтинг 4.72 /5. Подсчет голосов: 57

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Подписывайся
3 Комментарии
Большинство голосов
Новейшие Самый старый
Встроенные отзывы
Просмотреть все комментарии
Просмотр комментариев
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации

  • Все проблемы
  • Практика DSA
  • 100 самых популярных задач
  • 50 лучших классических задач
  • Лучшие алгоритмы
  • Компилятор С/С++
  • Компилятор Java
  • Компилятор Python
  • Компилятор JavaScript
  • компилятор PHP
  • Компилятор C#
  • Свяжитесь с нами
  • Политика конфиденциальности
  • условия обслуживания
  • Подпишитесь на новые публикации

Techie Delight © 2023 Все права защищены.

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Клонирование репозитория git в текущую папку

У меня хостинг timeweb, через панель управления создаю новый сайт, привязываю к нему домен, начинаю работать. По умолчанию для сайта создаётся папка с именем сайта site содержащая public_html т.е. корневую папку сайта и демо файлы которые можно сразу удалять, что я обычно и делаю. Проблема вот в чём, есть существующий проект на github я через putty захожу в очищенную от демок директорию нового сайта site/public_html/ выполняю следующие команды:

git init git clone https://github.com/maler1988/cookies.git 

клонируется репозиторий в результате в site/public_html/ создаётся папка cookies содержащая файлы фреймворка, index.php и пр., то есть те файлы, которые я бы хотел видеть в корне public_html. Как это можно сделать без использования трюков c .htaccess и пр.?

Отслеживать
3,179 21 21 серебряный знак 44 44 бронзовых знака
задан 10 апр 2015 в 19:33
1,142 5 5 золотых знаков 22 22 серебряных знака 53 53 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

git clone https://github.com/maler1988/cookies.git . 

точка в конце обозначает, что нужно клонировать репозиторий в текущую папку

Отслеживать
ответ дан 10 апр 2015 в 19:37
dizballanze dizballanze
1,362 1 1 золотой знак 12 12 серебряных знаков 18 18 бронзовых знаков
и я так понял что git init при клонировании делать не надо?
10 апр 2015 в 19:55
git init не надо
10 апр 2015 в 20:06
12 апр 2015 в 17:49
Директория должны быть пустой!
22 мар 2019 в 19:40

  • git
  • github
    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

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

Здравствуйте.
Есть гит-репозиторий. Нужно клонировать некую папку из этого репозитория.
В свн это можно было сделать так
foo.bar/svn/trunk/myDir
как в гите построить подобную ссылку ?

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

Комментировать
Решения вопроса 1
Full-stack developer (Symfony, Angular)

никак, вы клонируете весь репозиторий а дальше делаете с ним что хотите. Это и есть основное отличие git от svn. В git у вас просто есть ссылка на другой репозиторий, и вы их синхронизируете. Но можете и не синхронизировать. И вообще забыть об оригинале.

Если вы хотите вынести папку в отдельный репозиторий, то можно запустить filter-branch по директории и отобрать только коммиты, относящиеся к этой директории.

Ответ написан более трёх лет назад
Комментировать
Нравится 4 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

git

  • Git
  • +1 ещё

Как залить проект на гитхаб с сохранением папок?

  • 1 подписчик
  • 21 окт.
  • 120 просмотров

Работаем с репозиториями в Git

Одна из самых распространенных систем управления версиями – Git. Ее ядро добавляет в систему ряд консольных команд, предназначенных для управления репозиториями. В самих же репозиториях хранятся важные каталоги, конфигурационные файлы, журналы и прочие связанные элементы.

Далее я расскажу, как создать, клонировать и удалить эти репозитории.

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

Создание Git-репозитория

Сначала рассмотрим создание репозитория. Представим, что у вас уже есть папка для хранения файлов, но она еще не находится под контролем Git.

Откройте «Командную строку‎» (Windows) или Терминал (Linux/macOS) и перейдите по пути данной папки.

Команда для перехода по пути установки Git-репозитория

В Linux выполните команду:

cd /home/user/directory 

В macOS :

cd /Users/user/directory

В Windows:

cd C:/Users/user/directory

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

git init

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

Благодаря этой команде создается структура подкаталога со всеми необходимыми файлами. Кстати, все они расположены в подпапке с названием .git . Пока что проект не находится под контролем учета версий, поскольку в него добавлены только нужные элементы для работы Git. Для добавления файлов в репозиторий будем использовать git add. Команда git commit является заключительной:

git add git commit -m 'initial project version'

Теперь у вас есть Git-репозиторий со всеми необходимыми составляющими и отслеживаемыми файлами.

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Клонирование существующего репозитория

Второй вариант создания директории для контроля версий – копирование существующего проекта с другого сервера. Это актуально, когда осуществляется доработка готового проекта или вы желаете внедрить его компоненты в свой. В этом поможет команда git clone , о которой и пойдет речь далее.

При использовании упомянутой команды вы получаете клоны всех версий файлов, а значит, можете использовать любые из них, если что-то пойдет не так. Это же пригождается, когда требуется вернуть предыдущую версию проекта, что осуществимо благодаря файлам, помещенным под версионный контроль.

Для клонирования существующего репозитория понадобится ввести git clone . Пример такой команды вы видите ниже:

git clone https://github.com/rep/rep

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

При использовании вышеуказанной команды репозиторий клонируется с текущим названием. Если же оно должно отличаться, используйте следующую вариацию команды:

git clone https://github.com/rep/rep myrep

Завершим этот раздел статьи описанием содержимого, которое появляется в консоли при выполнении команды. Данный вывод соответствует успешному клонированию:

Cloning into 'Git'. remote: Counting objects: 46, done. remote: Compressing objects: 100% (25/25), done. remote: Total 46 (delta 7), reused 43 (delta 4), pack-reused 0 Unpacking objects: 100% (46/46), done. Checking connectivity. done.

Удаление локального Git-репозитория

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

В корне каталога с проектом необходимо избавиться от папки .git, о которой уже шла речь выше. Так вы удаляете только ту информацию, которая связана с Git, но сам проект остается. В Linux через Терминал вы должны перейти к каталогу с проектом и ввести следующую команду:

rm -rf .git

Еще один вариант – удаление .gitignore и .gitmodules в случае их наличия. Тогда команда меняет свой вид на:

rm -rf .git*

Остается только убедиться в отсутствии скрытой папки, которая может помешать инсталляции новой. Для этого существует простая команда ls -lah , выполнить которую необходимо с указанием того же каталога.

Только что мы разобрались с основами создания, клонирования и удаления Git-репозитория. Удачи!

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

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