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