假设S
是git提交的SHA。
我们如何才能表达范围S^..S
而不重复S呢?
换句话说,“给我一个以commit S结尾的一次提交范围”。
(有没有办法将N次提交推广到以S结尾的N次提交?)
我前前后后地阅读了man gitrevisions
;什么也没找到。
发布于 2017-09-07 23:01:56
我想你是在搜索<tree-ish>^!
有关详细信息,请参阅gitrevisions文档:
为方便起见,重复:
<rev>^!, e.g. HEAD^!
后缀^
后跟一个感叹号等同于提交<rev>
,然后给所有父级加上前缀^
,以排除它们(及其祖先)。
不是很容易理解,但我很确定这就是你要找的。
但我没有看到一种通用的方法来做到这一点。
发布于 2017-09-07 23:31:38
您可以将其封装到一个整洁的小git别名中:
git config --global alias.range '!bash -c "git $1 ${2-HEAD}~$3..${2-HEAD}" -'
分解:
git config --全局alias.range
'!bash -c "“-‘
git $1
的基础上构建我们的范围
- `${2-HEAD}` uses the second parameter or defaults to HEAD of none is supplied
- `$3` is the number of commits you want, will be empty if the parameter is not supplied. supplied
${2-HEAD}~$3..${2-HEAD}
示例用法:
`git range log 4ab9f0d 4`
https://stackoverflow.com/questions/46084421
复制相似问题