Клонирование репозитория 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) и перейдите по пути данной папки.

В Linux выполните команду:
cd /home/user/directory
В macOS :
cd /Users/user/directory
В Windows:
cd C:/Users/user/directory
Остается только ввести нижеуказанную команду, чтобы завершить первый этап.
git init

Благодаря этой команде создается структура подкаталога со всеми необходимыми файлами. Кстати, все они расположены в подпапке с названием .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
- On GitHub.com, navigate to the main page of the repository.
- Above the list of files, click

Code.
-
To clone the repository using HTTPS, under «HTTPS», click

.
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
- On GitHub.com, navigate to the main page of the repository.
- Above the list of files, click

Code.

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.
- On GitHub.com, navigate to the main page of the repository.
- 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

.
Alternatively, to clone your repository in Desktop, click

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.»