假设S
是git提交的SHA。
如果没有重复S的烦恼,我们如何表达范围S^..S
?
换句话说,“给我一个以提交S结尾的提交范围。”
(有没有推广到以S结尾的N提交?)
我向前和向后阅读man gitrevisions
;没找到任何东西。
答案 0 :(得分:4)
我认为您正在搜索DispatchQueue.main.asyncAfter(deadline: .now() + 0.6) {
self.tableView?.scrollToRow(at: pathToLastRow, at: .bottom, animated: animated)
}
有关详细信息,请参阅gitrevisions文档:
为方便起见重复:
<tree-ish>^!
后缀为
<rev>^!, e.g. HEAD^!
后跟感叹号与提交提交^
相同,然后其所有父项都以<rev>
为前缀,以排除它们(及其祖先)。
不那么容易理解,但我确信这就是你要找的东西。
但我没有看到一种通用的方法。
答案 1 :(得分:0)
你可以把它包装成一个整洁的小git别名:
git config --global alias.range '!bash -c "git $1 ${2-HEAD}~$3..${2-HEAD}" -'
分解:
创建全局别名范围
git config --global alias.range
调用外部bash命令
'!bash -c "<command>" -'
使用第一个参数作为命令
调用gitgit $1
然后用第二和第三个参数构建我们的范围
${2-HEAD}
使用第二个参数或默认为HEAD为none
供给 $3
是您想要的提交数,如果未提供参数,则为空。
供给
${2-HEAD}~$3..${2-HEAD}
示例用法:
`git range log 4ab9f0d 4`