【问题标题】:Bring gh-pages up to date with the latest commit of master使用 master 的最新提交使 gh-pages 保持最新
【发布时间】:2016-08-19 06:52:25
【问题描述】:

我将 SourceTree 与 Github 存储库结合使用,用于项目的版本控制。有一段时间,我一直在使用 master 提交所有新的更改,但时不时地,我希望 gh-pages 分支快进到 master 的最新提交,以便我可以更新带有我在生产中的页面的实时页面(通常在主要更新完成时)。

正如另一篇 SO 帖子所建议的那样,我已经尝试过 rebase,但这使问题变得更糟,因为 SourceTree 让我手动选择我想要的更改,并且 rebase 需要一段时间,特别是考虑到上次更新之间的提交量gh-pages。在一个项目中成功变基后,我基本上可以随时将gh-pages 分支同步到master,并且所有中间版本都会自动提交(尽管我无法在另一个存储库中重现相同的行为)。但是,我想要的是获得最后一次提交并覆盖所有文件。为此,我通常只是将master 分支上的整个文件夹复制到另一个位置,然后切换到gh-pages 并手动覆盖所有文件。不过,这是次优的,而且对于大型项目来说可能会出现问题。

所以,我想要并且需要的是通过 SourceTree 或脚本来自动化这个过程。

TL;DR:我需要一种将gh-pages 半自动更新为最新master 提交的方法,这将用master 中的文件覆盖所有文件,而不会变基并且将然后将它们推送到 Github 存储库。

【问题讨论】:

    标签: git github atlassian-sourcetree


    【解决方案1】:

    但是,我想要的是获取最后一次提交并覆盖所有文件。

    你应该:

    • 使用--ours 选项将gh-pages 合并到master(因此master 实际上没有被触及)。
    • 将master合并到gh-pages(这意味着gh-pages快进到master并变得相同)

    所以:

    git checkout master
    git merge --ours gh-pages
    git checkout gh-pages
    git merge master
    

    不要忘记,从几天前开始,您就不必再维护 gh-pages 分支了。

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

    【讨论】:

    • 我应该在master 还是gh-pages 上执行该命令序列?实际上,不维护gh-pages 分支的想法听起来不错,因为我可能可以同时处理页面的其余部分和实时版本,而不会破坏任何东西。谢谢!
    • @AngelosChalaris 该命令序列包括设置当前分支。所以你可以从任何分支启动它(最好在干净的工作区)
    • 好的,非常感谢您的回答和展示这项新功能!
    【解决方案2】:

    对于那些使用 create-react-app 创建应用的人。

    这是唯一对我有用且没有错误的方法

    1. 在 /public/index.html 中添加这个 sn-p 以解决浏览器缓存问题

    <meta http-equiv='cache-control' content='no-cache'> 
    <meta http-equiv='expires' content='0'> 
    <meta http-equiv='pragma' content='no-cache'>
    1. 将默认违规从 gh-pages 更改为 ma​​ster (guide)

    2. 删除本地和远程的 gh-pages 分支 (guide)

    3. 运行:npm run deploy。这将构建您的应用程序并使用更新的内容重新创建 gh-pages 分支。

    4. 选择 gh-pages 分支作为发布源,选择 /(root) 作为发布源的文件夹。(guide)

    5. 可能需要一些时间。一分钟后访问您的网站,现在应该已更新。

    (ref).

    如果您有其他选择,请分享!

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      相关资源
      最近更新 更多