So github recently implemented a feature to use the docs/
directory of master
instead of gh-pages
. And this is good for some use cases, such as mine.
The scenario is a git repo with a master
and a gh-pages
branch (the "old" way of doing github pages), and I want to move everything in the gh-pages
branch to the docs/
directory in master
(the "new" way of doing github pages).
I'm aware I can use git checkout master; git checkout gh-pages -- docs
, but this will remove history from the gh-pages
files, which is undesired.
I have fiddled around with git subtree
and git filter-branch
, with no success.
So the question is: Is there a magic one-liner git
command to move the contents of another branch into a subdirectory while keeping history?
git subtrees
are perfect for this. You mentioned you "fiddled" with them, but did you try:
git subtree add --prefix=docs origin gh-pages
Check out my docs-subtree
branch
I don't know if there is a one-line command, but you could try a rebase, and then merge it into master:
git checkout gh-pages
git rebase master
git checkout master
git merge --no-ff gh-pages
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With