laravel - 应用程序 js 在将分支与 master (laravel+vue) merge 时发生 merge 冲突

标签 laravel git vue.js deployment node-modules

我正在使用 LaravelvueJs 开发应用程序。在构建应用程序期间,npm run watch 命令会监视所有相关文件的更改,并在检测到更改时重新编译 app.js。第一次,我创建了一个包含一个主分支和两个不同分支的存储库(假设在 github/gitlab/bitbucket 等中)。

现在,问题是当我们要推送到分支或与 master 分支 merge 时,它在 public/js/app.js 中发生了很多冲突。我想,我知道原因。这是因为,在使用 npm run watch 构建应用程序期间,每次更改都会重新编译 app.js。因此,存储库中的旧 public/js/app.js 将在新的 public/js/app.js 中得到 merge conflict。如果我忽略 app.js,那么当多个开发人员同时工作时,更改将如何影响应用程序。在这种情况下,当应用程序由两个或多个开发人员开发并使用github、gitlab、gitbucket 等 merge 代码时,应该如何解决。请有人建议我正确的方法!

最佳答案

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

.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)目录中的所有已编译资源

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

因为将所有依赖项都放在 node_modules 中并将 Javascript 编写为 resources/js 或以前的 resources/assets/js 和 SASS 和 CSS 相同

关于laravel - 应用程序 js 在将分支与 master (laravel+vue) merge 时发生 merge 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58081636/

相关文章:

git - 如何在等待测试运行时同时在多个分支上工作?

php - Laravel 使用 auth()->user() 作为 api

php - 计算子表中的相关行数

更改文件路径后,git 将文件还原为上一次提交

git - 'git diff' 中的 ^M 是什么意思?

docker - Nginx try_files 不适用于我的 Vue 应用程序

node.js - 如何从vue,js pug 模板中引用数据?

javascript - 每个循环的值不会被返回

php - Laravel Eloquent 查找日期早于 2 天的行

php - Laravel:使用 foreach 时获取 session ID 奇怪地截断