应用程序js与主分支合并分支时出现合并冲突(laravel + vue)

Ras*_*san 5 git deployment laravel node-modules vue.js

我正在使用Laravel和开发应用程序vueJs。在构建应用程序期间,该npm run watch命令监视所有相关文件的更改,并app.js在检测到更改时重新编译。第一次,我创建了一个存储库(假设在github / gitlab / bitbucket等中),该存储库具有一个master分支和两个不同的分支。现在,问题是当我们要推送到分支或与master分支合并时,它会遇到许多冲突public/js/app.js。我猜,我知道原因。这是因为在构建应用程序期间npm run watch,每次更改都会重新编译app.js。因此,public/js/app.js存储库中的old 将获得merge conflictnew public/js/app.js。如果我忽略了app.js那么当多个开发人员同时工作时,更改对应用程序有何影响。在这种情况下,当应用程序由两个或多个开发人员开发并使用github,gitlab,gitbucket等合并代码时,解决方案应该是什么。有人可以建议我正确的方法!

Sal*_*301 5

忽略您.gitignore 的已编译文件,除非您node的服务器中没有该文件,否则没有理由将它们推送到存储库中

.gitignore

/public/js/app.js
Run Code Online (Sandbox Code Playgroud)

然后跑

npm install
npm run prod
Run Code Online (Sandbox Code Playgroud)

准备部署在服务器中

纠正步骤

rm public/js/app.js
echo "/public/js/app.js" >> .gitignore
git commit -m "ignore compiled asset"
git push
npm run watch
Run Code Online (Sandbox Code Playgroud)

我通常会忽略公共目录中的所有已编译资产

/public/js/*
/public/css/*
/public/fonts
Run Code Online (Sandbox Code Playgroud)

因为它更干净(并且由于已编译资产的大小为+ 1MB,所以推送速度更快),使其具有所有依赖性node_modules并将Javascript作为ES6模块写入resources/js或以前作为ES6模块使用,resources/assets/js并且与SASS和CSS相同