我目前正在开发一个使用Gradle的项目。项目存储库位于GitHub上,有两个主要分支:实际源文件的master
和GitHub页面的gh-pages
。它们完全相互独立,并且有着无关的历史。
现在我想在GitHub页面站点上托管文档文件(即JavaDoc文件),因此我需要将生成的文档文件放在gh-pages
分支上。但是,在master
分支上忽略了构建后文档所在的目录,因为我不想将其推送到主存储库分支 - 仅限于GitHib页面分支。
因此,一旦我结帐到gh-pages
,生成的文件就会消失(分别由文档分支中的文件覆盖)。
是否有任何方法可以将master
分支中的文档文件(合并,签出,...)移动到GitHub页面分支,而无需在切换分支之前将它们移出存储库?
这听起来像git stash
可以做你想要的:
第1步:生成文档
第2步:git status
显示您已在docs/...
进行了更改
第3步:启动git add docs/
,然后启动git stash
,git将记录所有更改,但将工作环境恢复到上次提交
第4步:使用git checkout gh-pages
切换到gh-pages
第5步:使用git stash pop
将您对文档所做的更改应用于文档
第6步:您可以提交这些更改。
简而言之:git stash
清理所有内容,因此您可以切换分支,但它会记住更改,您可以在另一个分支上再次“合并”它们。你也可以创建多个stashes但很快就会搞砸了,所以一定要使用git stash pop
,它不仅会应用最新的更改,还会从stashing-index中删除它们。