有些Git命令需要使用提交范围,其中一个有效的语法是使用两个点 .. 分隔两个提交名,另一种语法则使用三个点 ...。 这两种语法有什么区别?
有没有更好的方法获取存储库中所有对象的原始SHA1列表,而不是使用以下命令: ls .git/objects/??/\* 和 cat .git/objects/pack/*.idx | git show-index 我知道 git rev-list --all 可以列出由 .git/refs ...
--abbrev-commit 标志可与 git log 和 git rev-list 结合使用,以显示提交对象的部分前缀而不是完整的 40 个字符的 SHA-1 哈希。根据 Pro Git 书籍,默认情况下,它使用七个字符,但如果必要,会使它们变长以保持 SHA-1 不含糊性。 此外,短 ...
一般问题:给定一组提交,如何找到包含所有这些提交的祖先提交列表,或者相关地,包含所有这些提交的第一个提交。 我可以通过查找所有集合中的提交的git branch --contains <commit>返回的分支(类似标签)来找到包含这些提交的分支,但是git rev-list没有...
如何查找所有父提交为给定提交的提交? 例如,如果我有以下Git提交图形, G H I J \ / \ / D E F \ | / \ \ | / | \|/ | B...
给定两个(或多个)提交,我想找到合并它们的最古老的合并记录。类似于git merge-base的相反操作(它查找最年轻的共同祖先)。请注意,我正在寻找的提交将是起始提交的较年轻后代。 换句话说:我想调查合并了两个给定提交的合并记录(其中对同一文件进行了更改)。
我有一系列提交哈希值,需要按时间顺序排列。 我认为可以使用git rev-list来完成,但即使我在命令行上指定了一个提交,它也坚持显示所有的提交。 是否有办法让git做到这一点,或者我必须结合git rev-list和grep来完成? 谢谢!
我使用标签来标识版本发布以及完成任务的“开发完成”提交。执行git tag命令,我会得到如下列表: > git tag v0.1.0 task_1768 task_2011 task_1790 task_1341 v0.1.1 task_2043 task_2311 v0.1.2 ...
在寻找Git Hook示例时,我遇到了以下帖子:https://github.com/Movidone/git-hooks/blob/master/pre-receive,我想了解以下命令: git rev-list $new_list --not --all 其中 new_list ...