Приложение JS получает конфликт слияния при слиянии ветви с мастером (laravel + vue) - PullRequest
5 голосов
/ 24 сентября 2019

Я разрабатываю приложение, используя Laravel и vueJs.Во время сборки приложения команда npm run watch отслеживает все соответствующие файлы на предмет изменений и перекомпилирует app.js при обнаружении изменения.В первый раз я создал репозиторий (предположим, в github / gitlab / bitbucket и т. Д.) С основной веткой и двумя разными ветками.Теперь проблема в том, что когда мы собираемся перейти к ветви или объединиться с основной веткой, в public/js/app.js возникает так много конфликтов.Я думаю, я знаю причину.Это связано с тем, что во время сборки приложения с npm run watch каждое изменение перекомпилирует app.js.Таким образом, старый public/js/app.js в хранилище получит merge conflict в новом public/js/app.js.Если я проигнорирую app.js, то как изменения повлияют на приложение, когда несколько разработчиков работают одновременно.В этих обстоятельствах каким должно быть решение, когда приложение разрабатывается двумя или более разработчиками и использует github, gitlab, gitbucket и т. Д. Для объединения кодов.Кто-нибудь посоветует мне правильный путь, пожалуйста!

Ответы [ 2 ]

2 голосов
/ 24 сентября 2019

Игнорировать скомпилированные файлы в вашем .gitignore нет никакой причины отправлять их в ваш репозиторий, если у вас нет node на вашем сервере

.gitignore:

/public/js/app.js

Затем запустите

npm install
npm run prod

На вашем сервере, когда вы будете готовы к развертыванию

Шаги для исправления

rm public/js/app.js
echo "/public/js/app.js" >> .gitignore
git commit -m "ignore compiled asset"
git push
npm run watch

Обычно я игнорирую все скомпилированные ресурсы в публичном каталоге

/public/js/*
/public/css/*
/public/fonts

Потому что чище и (быстрее пихать, так как скомпилированные ресурсы огромны по размеру + 1 МБ) иметь все зависимости в node_modules и писать Javascript как модули ES6 в resources/js или ранее resources/assets/jsи то же самое для SASS и CSS

0 голосов
/ 27 сентября 2019

Вы не должны помещать скомпилированные файлы в git, удалите app.js из вашего публичного каталога из вашего git-репозитория.Вашему другу просто нужно запустить npm run prod на своем компьютере, чтобы получить обновленный app.js.

...