Bring gh-pages up to date with the latest commit of master

廉价感情. 提交于 2019-11-28 06:09:34

问题


I am using SourceTree in combination with a Github repository for version control for a project. For a while, I've been using master to commit all new changes, but every now and then, I want the gh-pages branch to fast-forward to the latest commit of master, so that I can update the live page with the page I have in production (usually when a major update is finished).

I have tried rebasing, as another SO post suggested, but this made the problem even worse, as SourceTree had me manually choose what changes I wanted and the rebasing took a little while especially considering the amount of commits between the last update of gh-pages. After successfully rebasing in one project, I could basically sync the gh-pages branch to master whenever I desired and all in-between versions would commit automatically (I could not reproduce the same behavior in another repository though). However, what I want is to get the last commit and overwrite all files. To do this, I usually just copy the whole folder while on master branch to another location, then switch to gh-pages and overwrite all files manually. This is sub-optimal, though and can get really problematic for larger projects.

So, what I want and need is to automate this procedure, either through SourceTree or via a script.

TL;DR: I need a way to update gh-pages to the latest master commit semi-automatically, which will overwrite all files with the ones in master without rebasing and will then push them to the Github repository.


回答1:


However, what I want is to get the last commit and overwrite all files.

You should:

  • merge gh-pages to master with the --ours option (so master is actually untouched).
  • merge master to gh-pages (which means gh-pages fast-forwards to master and becomes identical)

So:

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

Don't forget though that since a few days ago, you don't have to maintain a gh-pages branch anymore.

Simpler GitHub Pages publishing now allows to keep your page files in a subfolder of the same branch (no more gh-pages needed):



来源:https://stackoverflow.com/questions/39032785/bring-gh-pages-up-to-date-with-the-latest-commit-of-master

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!