我在Git仓库中管理我的Jekyll博客 我的發布过程使用2个分支:
-
master
包含所有生产内容 -
feature/newposts
有新的博客文章,准备发布 每个帖子一次提交
-
樱桃在
master
分支中挑选
虽然没有那么慢,但这却很无聊 这篇文章解释了我如何使用bash magic“自动化”上述过程。
Bash用户知道如何获取当前日期:
但是Jekyll博客文章文件名的格式为-xxx-yyy-zzz.adoc
。 看一下手册页相關语法为:
要获取Git树中文件的路径,需要使用git ls-tree
命令:
请注意哈希是Blob的哈希,而不是提交的哈希 从这一点出发,有两种方法:
- 用这个blob获取提交
出于没有真正的原因我选择了第二个选项。
仅获取路径需要剪切输出:
git log
是用于获取特定路径的提交的命令。 它允许一个分支选項
要将输出限制为提交值,请使用--format
选项:
最后一步是挑选相关的提交 在这一点上,这是显而易见的:
我没有找到cherry-pick
插入特定分支的方法因此无法将提交添加到当前分支。
上面的命令只需要添加到master
分支的结账然后返回即可。
正如我们在所看到 如果上面的代码段是用名稱为git-
且位于PATH
上的bash脚本编写的,则可以通过git调用它:
此时可以像下面这样调用脚本: