会议演示的Git

时间:2013-09-25 07:21:13

标签: git demos

我经常在会话演示中使用git,以便逐步显示软件开发。到目前为止,我为发展里程碑定义了标签,而且我过去常常从一个步骤转到另一个步骤。但这不是一个好主意:我有时想要更新某些步骤,从标签到另一个标签的过渡并不总是直观的。

我找到了一些有趣的方法来尝试改进。在https://coderwall.com/p/ok-iyg,定义next和prev别名以便于在步骤之间导航,但这些别名是在提交时定义的,不能解决更新步骤的问题。在http://www.damirscorner.com/UsingGitInSessionDemos.aspx,步骤基于分支,我认为这是允许更新的更好解决方案。可以在此上下文中重新定义next和prev等命令,可能使用分支的命名约定(例如,step1,step2 ......)。

但是为了获得完全功能的控件,理想情况下可以添加一些操作,例如:修改分支的可能性以及与一个或多个其他分支(前一个或下一个分支)的合并,或者检查在离开工作目录干净的步骤之前,提议要么清理或提交。

您是否知道这种精神的扩展/工作流程/用例可以帮助我更快地达到我想要的环境?

提前致谢!

1 个答案:

答案 0 :(得分:0)

一个相当简单的解决方案是创建这两个别名(假设是* nix环境):

git config alias.prev prev`git branch | grep '\*' | cut -d' ' -f2`
git config alias.next next`git branch | grep '\*' | cut -d' ' -f2`

那些将解析为:

git prevbranch
git nextbranch

...其中branch是当前分支的名称 - 例如如果您在master分支上并致电git next,则会解析并运行git nextmaster。然后,您可以使用prev / next个名称制作repo-local别名。

如果您希望git next带您从step1step2git prev带您从step2转到step1,那么请这些别名:

git config alias.nextstep1 'checkout step2'
git config alias.prevstep2 'checkout step1'

这会将事物变成一个类似git的松散连接节点系统,只能通过命名引用连接,这些引用可以在.git/config部分[alias]下轻松编辑,可以在任何环境中使用,并且远离回购中的文件。

请注意,配置文件不会带有repos(即克隆,抓取,推送或拉动时),因此您需要携带.git文件夹,或者至少带{{1无论你身在何处,都可以重新制作这些别名。