使用Gulp.js正确地将版本化和构建(缩小)文件提交给GitHub

Kev*_*Bot 5 git workflow github gulp

背景信息

我正在编写一个小型JavaScript库,如果其他人最终想要贡献,我希望尽可能简化贡献.目前,我遇到了版本化文件dist夹中的内置文件的问题.

我在用:

  • Git用于版本控制,Github用于存储库管理.
  • Gulp.js用于构建源文件以及提交和推送版本化文件

Gulp运行构建任务,将JavaScript文件连接并缩小为all.min.js文件并将该文件放在dist文件夹中.我遇到的麻烦是根据该文件夹进行发布.

我尝试过的事情

1. 即使使用构建的文件,也要发生正常的git流.我的意思是,当用户创建一个拉取请求来掌握时,其中一个差异就是all.min.js.这通常会导致冲突,并且当确认拉取请求时,all.min.js不再标记"version1.xx".

2. 我的下一个想法是在gulp构建过程中添加dist文件夹.gitignore,然后使用npm包注释掉dist文件夹,提交和推送,然后取消注释该行.

这当然不起作用,因为只要dist文件夹存在于repo中,.gitignore就不适用于该特定项目.

3. 最后一个想法是开发人员开发时,将这些文件构建到build文件夹,然后将该文件夹添加到.gitignore.这样,当我使用Gulp"释放"时,我没有文件冲突,并且标记是一致的.发布任务,只有那些任务会推送到该dist文件夹.但是,我仍然觉得这种方式对错误太开放了.但是,也许这个解决方案是最好的.

问题: 如何改进这些流程以实现一致的开发周期?

abu*_*mam 0

\n

\xe2\x80\xa6 只要该dist文件夹存在于存储库中,.gitignore就不适用于该特定项目。

\n
\n\n

如果您\xe2\x80\x99已经提交了dist并且提交者\xe2\x80\x99s悔恨,您可以通过运行以下命令来使用这个答案:

\n\n
git rm --cached <file-or-directory>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我\xe2\x80\x99d有兴趣知道你最终做了什么。

\n