Вопрос: Как вы клонируете репозиторий Git в определенную папку?


Выполнение команды git clone git@github.com:whateverсоздает каталог в моей текущей папке с именем any и отбрасывает содержимое репозитория Git в эту папку:

/httpdocs/whatever/public

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

/httpdocs/public

Я знаю, как перемещать файлы после того, как я клонировал репозиторий, но это, похоже, сломало Git, и я хотел бы иметь возможность обновлять, просто позвонив git pull, Как я могу это сделать?


1680


источник


Ответы:


Вариант A:

git clone git@github.com:whatever folder-name

Вариант B:

переместите также папку .git.

Еще лучше:

Сохраните свою рабочую копию в другом месте и создайте символическую ссылку.


2354



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

git clone git@github.com:whatever .

«.» в конце указывает текущую папку в качестве папки проверки.


498



Зайдите в папку. Если папка пуста, то:

git clone git@github.com:whatever .

еще

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

172



Основное клонирование хранилищ Git

Вы клонируете репозиторий с помощью

git clone [url]

Например, если вы хотите клонировать библиотеку Drupal Open Framework Git в стиле Стэнфордского университета под названием open_framework, вы можете сделать это следующим образом:

$ git clone git://github.com/SU-SWS/open_framework.git

Это создает каталог с именем open_framework (в вашем текущем локальном расположении файловой системы), инициализирует внутри него каталог .git, извлекает все данные для этого репозитория и проверяет рабочую копию последней версии. Если вы войдете во вновь созданный каталог open_framework, вы увидите там файлы проекта, готовые к работе или использованию.

Клонирование хранилища в конкретной локальной папке

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

$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme

Эта команда выполняет то же, что и предыдущее, но целевой каталог называется mynewtheme.

Git имеет несколько различных протоколов передачи, которые вы можете использовать. В предыдущем примере используется протокол git: //, но вы также можете увидеть http (s): // или user @ server: /path.git, который использует протокол передачи SSH.


68



Когда вы перемещаете файлы туда, где вы хотите, вы также перемещаете .gitкаталог? В зависимости от вашей ОС и конфигурации этот каталог может быть скрыт.

Он содержит репо и поддерживающие файлы, а файлы проекта, которые находятся в вашем /publicdirectory - это только версии в текущей фиксации (основная ветка по умолчанию).


12



Клон:

git clone git@jittre.unfuddle.com:jittre/name.git

Клонировать «конкретную ветку»:

git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git

11



If you want to clone into the current folder, you should try this:

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

10



Make sure you remove the .git repository if you are trying to check thing out into the current directory.

rm -rf .git then git clone https://github.com/symfony/symfony-sandbox.git


9



To clone git repository into a specific folder, you can use -C <path> parameter, e.g.

git -C /httpdocs clone git@github.com:whatever

Although it'll still create a whatever folder on top of it, so to clone the content of the repository into current directory, use the following syntax:

git git@github.com:whatever .

Note that cloning into an existing directory is only allowed when the directory is empty.

Since you're cloning into folder that is accessible for public, consider separating your Git repository from your working tree by using --separate-git-dir=<git dir> or exclude .git folder in your web server configuration (e.g. in .htaccess file).


8