【问题标题】:Why use a GitHub template instead of a fork?为什么使用 GitHub 模板而不是 fork?
【发布时间】:2022-08-10 06:08:10
【问题描述】:

最近,我跳进了an e-commerce UI template from Algolia。根据 GitHub,我可以分叉存储库或将其用作模板。不同之处似乎是模板不是用于获取原始存储库的上游。当我几乎无法访问未来的更新时,我有点困惑为什么我应该将它用作模板。我不应该只分叉存储库并可能获得一些整洁的更新吗?

  • 你读过吗? docs.github.com/en/repositories/…,这解释了差异?
  • 我知道拥有一个新的提交历史和所有这些很方便,但是为什么使用模板会限制用户获取原始存储库的上游?对我来说,获得一些更新似乎很方便。我猜它会弄乱新的提交历史?
  • 你不能两者兼得。没有什么可以阻止您添加上游远程和挑选适用的提交,但是您要让您的存储库与模板足够接近,以便它们干净地应用多久?
  • 感谢您的回答。我觉得我现在知道的够多了。适应全新版本的模板可能确实是一场噩梦。
  • 您不能同时拥有两者的原因是与 Git 的内部提交结构密切相关的技术问题。我自己几乎总是使用分叉(我认为 GitHub 的特殊模板系统几乎没有价值)并且在我没有使用分叉的地方我可能会克隆原始存储库,使用 filter-branch 或 filter-repo ,并将其变成我的克隆,而不是使用 GitHub 的特殊模板系统。

标签: git github


【解决方案1】:

分叉和模板之间的区别在于,当您分叉时,它旨在为父存储库做出贡献。以下是每个的一些优点/缺点

叉子

优点

  • 能够获取上游
  • 能够打开 PR 以贡献于 head 存储库。

缺点

  • 某些功能(例如可见性)无法更改。

模板

优点

  • 可以更改所有设置

缺点

  • 无法获取上游
  • 能够打开 PR 以贡献于 head 存储库。

【讨论】:

    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 2018-12-28
    • 2012-03-04
    • 2018-06-10
    • 2012-09-30
    相关资源
    最近更新 更多