Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Git中测试空的单亲提交?_Git - Fatal编程技术网

如何在Git中测试空的单亲提交?

如何在Git中测试空的单亲提交?,git,Git,我正在编写一些现有源代码管理(Subversion)和Git之间的单向网关过程gitsvn在其远程分支中留下许多空的线性提交,因为排除了路径,我想从结果分支中排除这些路径。在某个时刻,我从git cherry中获得了一个SHA提交的列表,我需要将该列表扔给目标分支 我想排除空的提交(那些git show不提供差异,只提供注释的提交),并且有一个父级,即I。E不合并。我可以在脚本中使用哪些命令来执行这样的测试?低级瓷器更可取,因为它适合自动解析 我可以相信Git是最新版本的,目前有2.6.2。Gi

我正在编写一些现有源代码管理(Subversion)和Git之间的单向网关过程
gitsvn
在其远程分支中留下许多空的线性提交,因为排除了路径,我想从结果分支中排除这些路径。在某个时刻,我从
git cherry
中获得了一个SHA提交的列表,我需要将该列表扔给目标分支

我想排除空的提交(那些git show不提供差异,只提供注释的提交),并且有一个父级,即I。E不合并。我可以在脚本中使用哪些命令来执行这样的测试?低级瓷器更可取,因为它适合自动解析


我可以相信Git是最新版本的,目前有2.6.2。

Git rev parse${SHA}^1
测试第一个父项,
Git rev parse${SHA}^2
测试第二个父项。检查
^2
时,合并提交将出错


不引入任何更改的提交将具有与其父级相同的树SHA
git rev parse${SHA}^{tree}
将为您提供提交的树SHA,然后将其与其父级的树进行比较-
${SHA}~1

${SHA}^{tree}
非常棒,谢谢!但是我不理解
git版本列表
部分。我所拥有的是一个提交列表,随时可以挑选。我只想放弃那些没有改变的(这是由于你的回答而解决的)并且有一个父母。那么我如何测试有问题的单个提交有一个父级呢?测试
git rev parse${SHA}^2
,如果它存在,那么它就是一个合并。我明天更新答案