我正在使用 Laravel
和 vueJs
开发应用程序。在构建应用程序期间,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/