有没有人设法在shell提示符下获得gerrit changeid?
我正在使用zsh。
答案 0 :(得分:0)
我会试着回答,而不是等待我问的回答
评论。请注意,zsh
不是我的主要shell,但我使用bash
这有点类似。做你想做的事:
in_git() {
git rev-parse --git-dir >/dev/null 2>&1
}
precmd() {
in_git && PS1="$(git show --format=%B -s | grep Change-Id: | cut -d " " -f2) $ " || PS1="$ "
}
名为in_git
的函数会检查您当前是否在git
内
存储库 - 如果您是我们尝试从当前提取Change-Id
提交,如果你不是,我们只需显示$
作为提示。
答案 1 :(得分:0)
在.zshrc文件中创建一个函数,如下所示:
get-change () { git show $1 --format=%B -s | grep Change-Id: | cut -d " " -f2; }
然后,如果你执行" get-change"如果没有参数,您将获得HEAD提交的Change-Id:
get-change
I694a3cee135c711e2df231cb84ab6c58183a4846
或者,如果您愿意,您可以获得任何其他提交的Change-Id:
get-change master
I2cb7970b909322ff2c78a2326cf42dd2f6ae9975
get-change v1.0.0
Ia037c862c038ba78aba3724d12ba99ce298cbc55
get-change 7d09af3
I974b884a1699a798d569f0f638aa90bf531f76fe