LINUX.ORG.RU

слияние локальной папки с github

 


0

1

всем привет,

У меня есть репозиторий на гитхабе, который я использую чтобы следить какие изменения я вносил в код сайта на laravel и заодно чтоб иметь там бекап кода. Он не включает только папки public и vendor и файлы .env. И вот я хочу скачать этот код к себе на новый сервер, чтобы начинать не с нуля

ставлю чистую копию laravel

laravel new blog  
git remote add origin https://github.com/user/repo.git

и потом пытаюсь скачать с гитхаба только файлы, которые там были изменены, но не получается


root@server:/var/www/blog# git pull origin master
From https://github.com/user/repo
 * branch            master     -> FETCH_HEAD
error: Entry '.env.example' would be overwritten by merge. Cannot merge.
root@server:/var/www/blog# git fetch origin master
From https://github.com/user/repo
 * branch            master     -> FETCH_HEAD

потом проверяю вручную файлы и вижу, что с гитхаба ничего не скачалось

Я в git не силен и знаю только один другой путь. Вот такой

cd /var/www
laravel new blog2
git clone https://github.com/user/blog
mv /var/www/blog2/public/ /var/www/blog/public/
mv /var/www/blog2/vendor/ /var/www/blog/vendor/
rm -r /var/www/blog2

Но это мне кажется не очень красиво и правильно. Я думаю, что должен быть путь проще чисто с помощью git.

Ответ на: комментарий от Kilte

потому что на гитхабе не хранятся папки public и vendor и файлы .env. То есть после клонирования в одну папку мне надо будет создать новый ларавел проект в другой папке и из нее переместить недостающие папки и файлы

я уже об этом писал

cd /var/www
laravel new blog2
git clone https://github.com/user/blog
mv /var/www/blog2/public/ /var/www/blog/public/
mv /var/www/blog2/vendor/ /var/www/blog/vendor/
rm -r /var/www/blog2

schel4ok ()
Ответ на: комментарий от dvrts

git pull не работает

смотри внимательней

root@server:/var/www/blog# git pull origin master
From https://github.com/user/repo
 * branch            master     -> FETCH_HEAD
error: Entry '.env.example' would be overwritten by merge. Cannot merge.

schel4ok ()
Ответ на: комментарий от schel4ok

А зачем ты таскаешь вендор если у тебя зависимостями должен рулить композер?
Ставишь всё через него.

ritsufag ★★★★★ ()
Ответ на: комментарий от schel4ok

vendor

Коммитишь composer.lock и делаешь composer install в любом месте, хоть на сервере, хоть локально. Это гарантирует, что везде будут стоять одни и те же зависимости.

По поводу public и .env не в курсе.

.env, как я полагаю, зависит от окружения, так создаёшь его один раз на сервере и всё.

Ну а public скорее всего тоже под контроль версий ляжет. Вообще советую погуглить что-нибудь по запросу «деплой+laravel» или что-то в этом роде. Уверен, ты найдёшь ответы на все свои вопросы.

Kilte ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.