【问题标题】:Git branch experimentGit分支实验
【发布时间】:2016-08-19 03:34:05
【问题描述】:

这是一个使用 Git 的有趣实验。想想 Github 的“页面”功能:我在一个分支中编写程序(例如 master),而文档网站保存在另一个完全不相关的分支中(例如 gh-pages)。

我可以从 master-branch 中的代码生成 HTML 格式的文档,但我想将其作为我的文档网站的一部分发布到 gh-pages 分支中。

如何从master 中的代码智能地生成我的文档,将其移动到我的gh-pages 分支并在那里提交更改?我应该使用提交后挂钩还是什么?这是个好主意,还是完全愚蠢?

【问题讨论】:

  • 我认为这可能是相关的:stackoverflow.com/questions/1425892/…
  • @Eimantas:我认为不是。这是关于同一个存储库中的两个分支,而不是两个不同的存储库。
  • 可以做一个 pre-tag hook,以便在分支上生成文档并发布,然后再恢复到 master 并应用标签。但我对 git hooks 还不够熟悉,无法确切了解如何操作。

标签: git branch


【解决方案1】:

你可以'git stash'你生成的文件然后应用到相关的分支上

git checkout master
#generate doc
git stash save
git checkout gh-pages
git stash pop

2016 年 8 月更新:Simpler GitHub Pages publishing 现在允许将您的页面文件保存在 same 分支的子文件夹中(不再需要 gh-pages):

您现在可以使用同一分支的子文件夹中的代码更新您的文档。

【讨论】:

  • 我还没有想到 stashes,看起来很整洁。是否可以自动化它,例如在我创建标签或其他东西之前运行的钩子?
【解决方案2】:

在版本控制下生成文件有什么好处?如果你坚持这一点,在同一个存储库中生成和生成文件有什么好处? git 的分支支持非常棒,但我确信它不是为了做你想做的事情而设计的。

【讨论】:

  • 我同意,因为这个gh-pages 分支实际上是一个单独的项目,而不是主代码库的一个分支。这将是一个黑客。我仍然很好奇它是否可以完成。
  • Git 本身的 Git 存储库正是这样做的(对于手册页和其他东西),所以如果他们这样做,那一定是对的! :)
猜你喜欢
  • 1970-01-01
  • 2012-02-17
  • 2014-09-08
  • 2012-11-03
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多