如何别名git checkout&& git stash适用

时间:2012-07-15 04:37:54

标签: git git-commit git-stash

所以我有两个分支master和formtest

我有一个[别名]“git switch”,它可以让我藏匿正在进行的任何作品并结帐另一个分支。

“git switch”

switch = !git stash && git checkout

现在我想创建一个[别名]

“git switchback”

switchback = ???

运行时我想要它说

切换到此分支“formtest”

然后运行stash apply

解开最后一次完成的WIP并在我第一次运行“git switch”之前将其返回

2 个答案:

答案 0 :(得分:0)

切换回您之前使用的分支

git checkout - && git stash apply

--中的cd -类似,例如切换回你使用的最后一个分支(位置)。

但是要注意,如果你碰到checkout中间的另一个分支,这将checkout错误的分支。

答案 1 :(得分:0)

git checkout $(git log --format=%B -n 1 stash@{0} | grep -oP '(?<=^WIP on )[^(:][^:]*' || git rev-parse stash@{0}^)

这将解析包含其所在分支名称的最新存储提交消息。如果没有分支(分离的HEAD),它将检出存储的父提交。