Скачать с помощью Git без данных репо и в локальной папке - PullRequest
0 голосов
/ 15 сентября 2018

Можно ли загрузить копию проекта Github с помощью git:

  • без загрузки также внутренней папки /.git/. (Я буду генерировать свой собственный)
  • в мой текущий каталог, а не в имя папки репо.

Я хочу загрузить проект в корень моего сайта, а не в подпапку проекта.

Если я сделаю это:

git clone --depth=1 https://github.com/some_github_account/project_1.git

Все загружается, но все это помещается в папку в корне моего документа с именем 'project_1', а внутри находится папка /.git/, которая мне тоже не нужна.

/home/bob/www/project_1/
/home/bob/www/project_1/.git/

Какой самый скудный, самый подлый способ загрузить все файлы из проекта прямо в папку, в которой я сейчас, без всего репо, используя git?

Ответы [ 4 ]

0 голосов
/ 16 сентября 2018

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

Часть того, что мне было нужно, должна быть сделана вручную при первой настройке клиента с новым сайтом, подключенным к GitHub, остальное я сделаю в PHP через функцию shell_exec ().

git clone --depth=1 https://github.com/modusinternet/Custodian-CMS.git /tmp/Custodian-CMS
rm -rf /tmp/Custodian-CMS/.git
shopt -s dotglob
cp -r /tmp/Custodian-CMS/* /home/YOUR_ACCOUNT/YOUR_WEB_FOLDER
rm -rf /tmp/Custodian-CMS
git init
git add --all
git config --global user.email ""
git config --global user.name ""
git commit -m "first commit"
git remote add origin git@github.com:YOUR_ACCOUNT_ON_GITHUB/YOUR_REPO_ON_GITHUB.git
git push -u origin master

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

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

Я добавлю в админке кнопку, чтобы позже справиться с загрузкой по FTP прямо на сервер, но этот код я буду использовать для повторной синхронизации с репо:

git add --all
git commit -m "From server"
git push -u origin master

Особая благодарность Андреа Пикатчу Фоллак, Ришабх Агарвал и CodeWizard за их предложения.

0 голосов
/ 15 сентября 2018

Можно ли загрузить копию проекта Github с помощью git:

Ответ - нет.

Когда вы clone сделаете git репо, он создаст папку .git для вас, и вы не сможете этого избежать.

Если вы хотите загрузить только источники, вы можете использовать функцию github download , которая будет загружать источники в виде zip-файла. enter image description here

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

git clone --depth=1 https://.../project.git <YOUR_FOLDER_NAME>
0 голосов
/ 15 сентября 2018

Вы можете использовать следующие команды:

git clone https://github.com/some_github_account/project_1.git .
rm -rf ./.git

Он клонирует проект в текущей папке и удалит папку .git.

Теперь вы можете добавить свои настройки git с помощью команды git init.

0 голосов
/ 15 сентября 2018

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

Выполнить

rm -rf .git

, чтобы удалить клонированное git-репо из папки, а затем выполните обычные шаги по созданию собственного, то есть

git init
git add .
git commit -m "initial commit"

, затем добавьте свое собственное репо

git remote add add origin git@github.com/account/repository

Вы поймете точку.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...