该答案说明了如何检出上一个分支,并有帮助地说明了@{-1}:https : //stackoverflow.com/a/7207542/3150057
如果我在更改分支之前保存了一些代码,并且正在考虑对隐藏进行工作,则上一个分支很重要。
有没有一种方法可以快速查看上一个分支的名称而无需搜索git reflog show最新checkout: moving from foo to bar条目?
更多信息:
这是解决我忘记以前工作环境的一种方法,这种情况通常是在午餐后回来的。
git rev-parse @{-1}显示将由分支签出的分支的HEAD提交,git checkout -但不显示分支名称。
git branch --contains @{-1} 将列出该提交的每个分支。
列出具有该提交作为HEAD的分支将很有帮助,因为它可以使我想起我以前的工作环境,但是我不确定如何做到这一点。
它失败go run或go test(编译然后运行),但不适用于go build(仅编译).我原本认为MustCompile与编译有关,而不是运行时.
package main
import (
"regexp"
)
var someInvalidRegex = regexp.MustCompile(`(?!`)
func main() {
someInvalidRegex.MatchString("foo")
}
Run Code Online (Sandbox Code Playgroud)
运行时失败:
$ go run main.go
panic: regexp: Compile(`(?!`): error parsing regexp: invalid or unsupported Perl syntax: `(?!`
goroutine 1 [running]:
regexp.MustCompile(0x10b7d19, 0x3, 0xc420022070)
/usr/local/Cellar/go/1.10.3/libexec/src/regexp/regexp.go:240 +0x171
exit status 2
Run Code Online (Sandbox Code Playgroud)
编译成功:
$ go build -o foo
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)
运行时再次失败:
$ ./foo
panic: regexp: Compile(`(?!`): error parsing regexp: invalid or unsupported Perl syntax: `(?!` …Run Code Online (Sandbox Code Playgroud)