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

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

  • автор:

Клонирование репозитория 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 серебряный знак 46 46 бронзовых знаков
задан 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.

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

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

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

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

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

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

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

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

Работаем с репозиториями в 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-репозитория. Удачи!

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

When you create a repository on GitHub.com, it exists as a remote repository. You can clone your repository to create a local copy on your computer and sync between the two locations.

Platform navigation

Tool navigation

About cloning a repository

You can clone a repository from GitHub.com to your local computer, or to a codespace, to make it easier to fix merge conflicts, add or remove files, and push larger commits. When you clone a repository, you copy the repository from GitHub.com to your local machine, or to a remote virtual machine when you create a codespace. For more information about cloning to a codespace, see «Creating a codespace for a repository.»

You can clone a repository from GitHub.com to your local computer to make it easier to fix merge conflicts, add or remove files, and push larger commits. When you clone a repository, you copy the repository from GitHub.com to your local machine.

You can clone a repository from GitHub.com to your local computer to make it easier to fix merge conflicts, add or remove files, and push larger commits. When you clone a repository, you copy the repository from GitHub.com to your local machine.

Cloning a repository pulls down a full copy of all the repository data that GitHub.com has at that point in time, including all versions of every file and folder for the project. You can push your changes to the remote repository on GitHub.com, or pull other people’s changes from GitHub.com. For more information, see «Using Git».

You can clone your existing repository or clone another person’s existing repository to contribute to a project.

Cloning a repository

  1. On GitHub.com, navigate to the main page of the repository.
  2. Above the list of files, click

Screenshot of the list of files on the landing page of a repository. The

Code.

    To clone the repository using HTTPS, under «HTTPS», click

Screenshot of the

.

git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY 
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY > Cloning into `Spoon-Knife`. > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done. 

To learn more about GitHub CLI, see «About GitHub CLI.»

To clone a repository locally, use the repo clone subcommand. Replace the repository parameter with the repository name. For example, octo-org/octo-repo , monalisa/octo-repo , or octo-repo . If the OWNER/ portion of the OWNER/REPO repository argument is omitted, it defaults to the name of the authenticating user.

gh repo clone REPOSITORY 

You can also use the GitHub URL to clone a repository.

gh repo clone https://github.com/PATH-TO/REPOSITORY 
  1. On GitHub.com, navigate to the main page of the repository.
  2. Above the list of files, click

Screenshot of the list of files on the landing page of a repository. The

Code.

Screenshot of the

Open with GitHub Desktop.

Cloning an empty repository

An empty repository contains no files. It’s often made if you don’t initialize the repository with a README when creating it.

  1. On GitHub.com, navigate to the main page of the repository.
  2. To clone your repository using the command line using HTTPS, under «Quick setup», click

. To clone the repository using an SSH key, including a certificate issued by your organization’s SSH certificate authority, click SSH, then click

Screenshot of the quick setup instructions for an empty repository. To the right of the HTTPS URL for the repository, a copy icon is outlined in dark orange.

.

Alternatively, to clone your repository in Desktop, click

Screenshot of the quick setup instructions for an empty repository. A button, labeled with a download icon and

Set up in Desktop and follow the prompts to complete the clone.

git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY 
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY > Cloning into `Spoon-Knife`. > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done. 

Troubleshooting cloning errors

When cloning a repository it’s possible that you might encounter some errors.

If you’re unable to clone a repository, check that:

  • You can connect using HTTPS. For more information, see «Troubleshooting cloning errors.»
  • You have permission to access the repository you want to clone. For more information, see «Troubleshooting cloning errors.»
  • The default branch you want to clone still exists. For more information, see «Troubleshooting cloning errors.»

Further reading

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

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