我正在Windows上使用git(实际上是msysgit)1.6.4。大多数时间我都在某些功能分支上工作。偶尔,我想要跳回主分支,挑选我在功能分支中完成的特定提交 - 通常是因为它是一个有用的错误修复,即使没有该功能也有意义。我的工作流程如下 - 如果这样做太复杂,请告诉我 :-):
git checkout -b mycoolfeaturebranch // 开始工作,实现一个新功能和一个错误修复
git add file_with_bugfix.cpp git commit -m "Fixed bug 12345" // 提交错误修复 git checkout master // 切换到主分支 git cherry-pick // 将错误修复带到主分支
此时,我通常想要返回到我的功能分支继续工作。不幸的是,我的分支名称往往变得有点长(比如'mycoolfeaturebranch'),而且我在Windows上没有git分支名称tab自动补全。
是否有类似于Unix shell上的“cd -”(跳转到上一个目录,对于在两个目录之间切换非常有用)的东西?类似于“git checkout -”就好了。 :-)
git checkout -b mycoolfeaturebranch // 开始工作,实现一个新功能和一个错误修复
git add file_with_bugfix.cpp git commit -m "Fixed bug 12345" // 提交错误修复 git checkout master // 切换到主分支 git cherry-pick // 将错误修复带到主分支
此时,我通常想要返回到我的功能分支继续工作。不幸的是,我的分支名称往往变得有点长(比如'mycoolfeaturebranch'),而且我在Windows上没有git分支名称tab自动补全。
是否有类似于Unix shell上的“cd -”(跳转到上一个目录,对于在两个目录之间切换非常有用)的东西?类似于“git checkout -”就好了。 :-)
git checkout -
的功能等同于git checkout @{-1}
。@{-1}
是更一般化的@{-n}
特例,即表示第 n 个最近检出的分支。 - Jakub Narębski