Gemfury 在 .gitignore 中时会从包中省略文件夹



我工作的公司在Gemfury上托管软件包。我最近加入了JavaScript存储库的开发。一切似乎都很标准,但我很快注意到构建工件正在被签入源代码管理。因此,我毫不犹豫地将dist文件夹添加到.gitignore

但是,从那时起,当我们发布时,托管在 Gemfury 上的软件包不再包含此文件夹。我以前在 NPM 包中遇到过这个问题,并且总是能够通过添加一个未提及 dist 文件夹的.npmignore文件来解决它。然而,这在这种情况下没有帮助,在package.json中添加"文件"区域也没有帮助(那里提到的所有文件都显示在包中,除了 dist 文件夹(。

我不完全确定 Gemfury 是如何创建这个包的。使用 Gemfury 的方式是将源代码推送到它(将 Gemfury 添加为远程,然后git push fury master(,并且 Gemfury 据说需要做一个构建,并声称在这个任务中取得了成功:

Initializing build: done.
-----> Building package...
npm package build detected
Packing my-project-1.0.0.tgz
-----> Pushing to "my-company" account
my-project-1.0.0.tgz ... ok
-----> Done!

这就是我所能找到的全部内容,我不知道如何使dist文件夹重新出现。出于显而易见的原因,我不想将其添加回源代码管理。

存储库使用 yarn 并在package.json中包含以下构建脚本:

"build": "babel src -d dist -D"

如果将文件传输到 Gemfury 的方法是 git push,并且如果 Gemfury 需要查看 dist 文件夹,那么git必须知道 dist 文件夹。

若要使 dist 文件夹 .gitignore 从源代码管理中保留,请在生成时创建一个包含 dist 文件夹的临时分支,并推送分支。

#create new branch
git checkout -b Gemfury
#force tracking of dist folder even though it is .gitignored
git add -f dist
git commit -m "included dist folder for Gemfury"

*我不熟悉宝石

最新更新