18

不久前,我不得不在我的项目中使用 jQuery 插件。我需要一些不同的功能,所以我重写了插件,几天前我在 github 上发布了一个 fork。我想将包添加到凉亭存储库。

分叉的存储库

我在存储库中添加了一个 bower.json 文件,并使用通常的“bower register”命令注册了包。问题是,当我尝试安装我的包时,bower 安装的是原始脚本而不是 fork。

我已经尝试过的:

起初我以为是因为我没有发布,所以我修复了那个部分。但它没有帮助。

我还尝试将版本号更改为原始脚本的版本号,但没有成功。

所以也许我写的 bower.json 文件写得不好,对吧?我的下一次尝试是使用 Bower 使用“bower init”为我制作一个 propper bower.json 文件。没运气。

那么我可能做错了什么?

GitHub 帮助页面将 fork 定义为一种使用别人的项目作为您自己想法的起点的方法。 这是我的意图,因为我重写了面向 oo 的插件并添加了一些功能,但是使用的 80% 的代码仍然来自原始插件,并且感觉不适合仅仅创建一个新的存储库。我是否应该创建一个新的存储库,然后将我的存储库注册到 Bower 工作?

如果您对存储库进行了一些中等到主要的更改,通常的方法是什么?你是 fork 还是发布一个新的 repo?即使更改更大,您仍然提出拉取请求吗?

4

2 回答 2

36

这对我有用:

  1. 分叉存储库
  2. 在磁盘上克隆
  3. 增加 bower.json 中的版本号(例如 2.0.1)
  4. 提交并推送
  5. 创建一个高于分叉存储库的新版本标签。前任:git tag "2.0.1"
  6. 推 :git push --tag
  7. bower install "https://github.com/myname/forkedrepo.git#2.0.1"
于 2016-02-08T18:29:40.697 回答
18

您不需要创建新的存储库。叉子可以正常工作。

但是你不能用 bower 重载别人注册的包名。看起来您已将名称从 更改onepage-scrollonepage-scroll-extended

如果您想了解 Bower 对您的包裹了解多少:

做:bower info onepage-scroll-extended

{
  name: 'onepage-scroll-extended',
  homepage: 'https://github.com/itd24/onepage-scroll-extended',
  version: '1.1.1'
}

Available versions:
  - 1.1.1
  - 1.0.1

在这里您可以看到它没有完整的 bower.json 清单信息,并且它拥有的最新信息是针对版本 1.1.1(不是 1.1.3,您的最新版本)。

这是因为您的存储库分支中没有v1.1.3标签。master我可以看到一个v1.1.1v1.2标签,但没有v1.1.3标签。创建该标签并将其推送到 GitHub 以使您能够使用bower install该新版本。

您可能还需要重新运行bower register命令来告诉它获取最新的清单。这应该自动发生(AFAIK)。你没有包含bower register你运行的命令,也许你在那里使用了错误的 repo URL。你应该使用类似的东西:

bower register onepage-scroll-extended git@github.com:itd24/onepage-scroll-extended.git

于 2014-12-15T17:54:28.773 回答