如何找到与不受 git 控制的项目修订相对应的提交?

2024-01-24

考虑以下情况:

我有一个项目的源代码(几个文件夹和文件)。不幸的是,源代码不受版本控制。 然而,这个项目有一个远程 git 存储库。

如何在 git 存储库中找到与我的项目修订相对应的提交?


我的强力方法是:克隆存储库,在不同的提交处签出并将签出的文件与我的文件进行比较。

有没有更优雅的方式来查找提交?


我认为这两种明显的方法不可用(查看版本/自述文件,或在下载的 tar.gz 文件中查找版本号)。

你可以尝试以下方法。它会明显更快,因为它避免了结账。仅当您没有以任何方式修改源代码时它才有效。

  1. git init一个新的存储库
  2. git add整个源代码副本,然后git commit
  3. git rev-parse HEAD^{tree}获取代码对应的tree-SHA

Now git clone远程,然后在该存储库中执行如下脚本

# This should be the tree-SHA given by the above 
needle=ABCDEF12345
# you could limit this to just HEAD or a branch if you had a guess 
for rev in $(git rev-list --all)
do
   if [ $(git rev-parse ${rev}^{tree}) = ${needle} ]
   then
      echo "Sha ${rev} matches"
   fi
done

一旦你有了匹配的 SHA,你可以尝试使用以下命令获取它的版本:git tags --points-at

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到与不受 git 控制的项目修订相对应的提交? 的相关文章

随机推荐

  • 防止 asp.net mvc 应用程序中的多个 POST

    如果用户不断单击提交按钮 如何防止用户多次将相同的数据发布到操作 我知道在 php 中 有一种方法可以防止这种多次提交 但我没有看到任何用于 asp net mvc 的方法 有没有 您可以使用 JavaScript 禁用提交按钮 jQuer
  • 画布上绘制的圆圈与屏幕不匹配

    我想在屏幕中心画一个圆圈 但我得到的是这样的东西 我正在使用这段代码来绘制这个圆圈 public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta
  • 减少 Pyinstaller 生成的可执行文件的文件大小的一般技巧有哪些

    我正在使用 Pyinstaller 将 python 脚本转换为可执行文件 该脚本包含来自各种包 如 nltk begin json 等 的多个导入 10 行代码生成的可执行文件为 54MB 这是不切实际的高 我知道它将所有模块打包在一个文
  • 形成对对象的引用是否构成访问?

    形成对对象的引用是否构成访问 以下是 GCC 和 Clang 目前所做的事情 void test int const volatile ptr noexcept ptr movl rdi eax Reads ptr maybe unused
  • 在使用 MediaCodec 进行编码之前裁剪视频以进行 Grafika 的“连续捕获”活动

    我正在了解 Grafika 的 连续捕获 活动 它是关于使用 MediaCodec 录制视频 活动源代码位于https github com google grafika blob master src com android grafik
  • 朱莉娅:外积函数

    In R 功能outer结构上允许您获取两个向量的外积x and y同时提供了许多应用于每个组合的实际功能的选项 例如outer x y 创建一个 外积 矩阵 其中包含元素之间的差异x and y 朱莉娅有类似的东西吗 广播是添加时发生的
  • 创意中的无定形镜片

    我尝试对 scala 2 10 3 使用版本 2 0 0 的无形状镜片 我有与此类似的代码 import shapeless case class A map Map String String case class B a A val m
  • 在 Android Jetpack Compose 中使用 State 时出现 java.lang.IllegalStateException

    I have ViewModel使用 Kotlin 密封类为 UI 提供不同的状态 另外 我用androidx compose runtime State通知 UI 有关状态更改的对象 如果出现错误MyApi请求发生时 我把UIState
  • iCloud 和 Xcode 6 - 无处不在的容器

    我目前正在开发一个适用于 iOS 8 的应用程序 它使用 iCloud Drive 和 CloudKit Framework 一切都是使用 Xcode 6 设置的 When I try to submit my App to iTunesC
  • 如何构建F#类型的实现业务规则?

    我正在尝试在 F 中构建一个类型 当我获得该类型的对象时 我可以确定它处于有效状态 该类型称为JobId它只持有一个Guid 业务规则是 它必须是一个 Guid 但不能是空的 Guid 我已经在 C 中实现了该类型 但现在我想将其移植到 F
  • 从 ruby​​ c 扩展中的线程调用 IO 操作将导致 ruby​​ 挂起

    我在使用 C 扩展中的线程异步运行 ruby 代码时遇到问题 我有以下 C 代码 struct DATA VALUE callback pthread t watchThread void ptr void executer void pt
  • 如何检查 python 2.7 中的原始输入是否为整数?

    有没有一种方法可以用来检查raw input是一个整数 我在网上查了资料后发现了这个方法 print isinstance raw input number int 但是当我运行它并输入4例如 我得到FALSE 我对 python 有点陌生
  • 将 POI 工作簿流式传输到 servlet 输出流

    我在我的网络服务器上构建了一个非常大的 POI 工作簿 将整个工作簿保存在内存中 不会针对多个并发请求进行扩展 有没有办法可以逐步将工作簿写入 servlet 输出流 这应该会减少响应时间 并提高进程内存的效率 如果您要生成 Excel 2
  • Guice 和一般应用程序配置

    对于用 Java 编写的监控软件 我考虑使用 Google Guice 作为 DI 提供程序 项目需要从外部资源 文件或数据库 加载其配置 该应用程序设计为在独立模式或 servlet 容器中运行 目前 配置不包含用于依赖项注入的绑定或参数
  • 如何在Release模式下启用TRACE宏?

    The 跟踪宏 http msdn microsoft com en us library 4wyz8787 VS 80 aspx可用于在代码编译时向调试器输出诊断消息Debug模式 我在的时候需要同样的信息Release模式 有办法实现这
  • chrome浏览器粗边框问题

    边框折叠在 Chrome 浏览器中无法正常工作 有些边界线看起来很粗 请查看这张图片并帮助我解决这个错误 I need lite border for all rows but highlighted rows border are loo
  • 如何使用 scikit learn inverse_transform 和新值

    我有一组数据是我使用scikit learn PCA 我在使用 StandardScaler 执行 PCA 之前对数据进行了缩放 variance to retain 0 99 np scaled StandardScaler fit tr
  • Flex/Lex 和 Yacc/Bison 有什么区别?

    Flex Lex 和 Yacc Bison 之间有什么区别 我在网上疯狂搜索 没有找到任何可靠的答案 我可以在 Ubuntu 上安装纯 Lex 和 Yacc 还是可以只安装 flex 和 bison 我很困惑 Lex 或 Yacc 是否仍然
  • 查找点是否在给定圆心和半径的圆内

    我们有一个观点 x y 以及其他一些点 xi yi 我们如何确定哪一个 xi yi 在以圆心为圆心的圆内 x y 和半径r 给定数字 xi x 2 yi y 2 lt r 2
  • 如何找到与不受 git 控制的项目修订相对应的提交?

    考虑以下情况 我有一个项目的源代码 几个文件夹和文件 不幸的是 源代码不受版本控制 然而 这个项目有一个远程 git 存储库 如何在 git 存储库中找到与我的项目修订相对应的提交 我的强力方法是 克隆存储库 在不同的提交处签出并将签出的文