git log --follow 已重命名的目录有什么技巧吗?

2024-01-08

git 命令有一个有用的命令可以在重命名后跟踪文件,如下所示git log --follow path/to/some/file。不幸的是,它仅适用于单个文件。我希望能够做相当于git log --follow some/directory.

做到这一点的一种方法可能是按摩输出git ls-tree并在循环中执行此操作,但问题是影响多个文件的提交不会“合并”为一个提交。

有更好的方法吗?注意:使用git 2.7.4


No.

Git 不存储目录,只存储文件。当您使用任何路径名来执行命令时,例如git log or git diff查看整个提交,Git 本质上是说“从整个提交开始,然后将其缩小到与该路径匹配的文件”。这里的目录最终会选择每个文件in目录。

The --follow选项只能跟随一个文件。因此,如果您能以某种方式设法将其应用于目录,Git 首先会将目录转换为一组文件,然后选择其中一个文件并仅跟踪该文件。

(实际上--follow代码非常hacky。它利用重命名检测代码,但仅在按较新到较旧的顺序比较提交时才有效:如果您添加--reverse, --follow根本不起作用。也许整个事情都需要被扔掉并重新编码。也许通过重新编码,您可以让它处理多个文件名,甚至充满文件的目录。)

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

git log --follow 已重命名的目录有什么技巧吗? 的相关文章

  • 如何像对待普通目录一样对待嵌套存储库(子模块)?

    我的 WordPress 网站是使用 Git 进行版本控制的 包括wp content plugins 文件夹 现在有一个插件 wp editormd 带有自己的 Git 存储库 wp content plugins wp editormd
  • 判断 Git 提交是否是合并/恢复提交

    我正在编写一个脚本 需要检查特定提交是否是合并 恢复提交 我想知道是否有 git 技巧 到目前为止我想到的 我绝对不想依赖这里的提交消息 是检查HASH 2看看我是否没有收到错误 是否有更好的方法 判断某个东西是否是合并很容易 这是不止一位
  • 从 git 中删除历史记录 - git 命令失败

    我正在尝试从 Git 历史记录中清除项目 bin 目录 我已经将 bin 添加到 gitignore 并运行 git rm cached r bin成功地 现在我尝试使用 GitHub 帮助页面中推荐的命令来清除历史记录 git filte
  • 如何预览 Git 中的隐藏内容?

    我想检查一个存储 并找出如果我将其应用于当前状态的工作树 它会发生什么变化 我知道我可以对存储进行 git diff 但这向我展示了工作树和存储之间的所有差异 而我只是想知道存储应用将改变什么 git stash show将向您显示最近存储
  • 我可以通过链接分享我的私人 GitHub 存储库吗?

    我在 GitHub 上的私人存储库中有一个 Java 应用程序 我想与没有帐户的人共享它 我在网站上没有找到任何与此相关的选项 有没有办法做到这一点 协作者只能是 GitHub 用户 无法在非 Github 用户之间共享私有存储库 您需要
  • Git - 推送到远程存储库中的远程跟踪分支

    当简单地做git push到远程存储库 其master分支得到更新 对于非裸存储库来说 这是不希望出现的情况 最近的 Git 版本显示的警告消息清楚地表明了这一点 我希望能够推送到远程存储库 并拥有其之一远程追踪分支进行更新 稍后 当我登录
  • 节点项目的 Azure git 部署失败

    我正在尝试将我的项目部署到azure 它正在失败 这些是我采取的步骤 git init git config core longpaths true git add git commit m initial commit 所有这些都有效 我
  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • 分支明显不同,但提交历史是相同的

    git status告诉我我的分支和我在另一个存储库上开始的分支已经分歧 On branch master Your branch and origin master have diverged and have 13 and 13 dif
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m
  • 如何正确使用“mvn release:prepare”?

    我尝试了这个命令 用dryrun在我的 Maven 项目上进行测试 mvn release clean release prepare DdryRun true DgenerateBackupPoms false Dtag solocal
  • 丢失了我在 GIT 中的提交。你会不小心删除提交吗?

    我正在使用 git gui 但看不到我的分支 我知道我今天检查了一些东西 在完成提交并使用分支查看器验证后 我更改为较早的分支 我对之前的分支进行了更改 然后想返回到当前的分支 但我再也看不到它了 任何帮助都会很棒 回答你的问题 在大多数情
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g

随机推荐

  • 如何在 IL 中实现 C# foreach 优化

    In this answer https stackoverflow com a 3168435 801189和这个GitHub问题 https github com dotnet roslyn issues 426 顶部项目 有一个描述f
  • gradle - 无法从 Maven 存储库中找到依赖项

    我在使用以下 build gradle 时遇到构建错误 apply plugin java apply plugin idea sourceCompatibility 1 7 version 1 0 repositories mavenLo
  • Magento - 数据未插入数据库,但id自动递增

    我正在为 Magento 开发一个新的支付模块 并且遇到了一个我无法解释的问题 验证信用卡后运行以下代码 table prefix Mage getConfig gt getTablePrefix tableName table prefi
  • cURL 错误 1:不支持的协议:https

    All 我尝试通过 PHP 的 cURL 包装器方法 HTTPS POST SOAP 请求 但不断收到以下 cURL 错误 错误 1 不支持的协议 https 有什么想法为什么会发生这种情况吗 目标 URL 很好 我可以通过命令行访问它 c
  • 如何从另一个 ViewController 修改 UITableView 的单元格

    在 VC 1 中 我有一个 UITableView 当我点击一个单元格时 我会进入 VC 2 其中显示有关该单元格的信息 我希望能够在 VC 2 中按下一个按钮 从而更改它在 VC 1 中对应的单元格的标题 但我对如何执行此操作感到困惑 我
  • 将请求参数作为 UTF-8 编码字符串传递[重复]

    这个问题在这里已经有答案了 我正在创建一个简单的登录页面 我想将登录名和密码参数作为 UTF 8 编码字符串传递 正如您在下面的代码中看到的 第一行是我将编码设置为 UTF 8 的地方 但这似乎毫无意义 因为它不起作用 当我使用带有重音符号
  • 交换活动后如何保持倒计时计时器计数?

    当我在活动之间交换时 我需要一个 countDownTimer 继续运行 我有多个活动 我将 countDownTimer 放在主活动中 但是当我交换到另一个活动并返回到主活动时 它又会从头开始重新计数 我相信是因为 countDownTi
  • 使用 pysftp 或 Paramiko,如何获得包含属性的完整目录列表?

    正如标题所示 我正在尝试获取目录中所有文件和目录的列表 包括它们的属性 我正在寻找至少名称 大小 上次修改时间 以及它是文件还是文件夹 我在 Windows 上使用 Python 3 我试过了listdir 我得到了一个没有属性的文件列表
  • java.lang.Long 和 scala.Long

    我不知道我的代码中发生了什么 日志在这里 error blahblah SampleApp scala 22 53 overloaded method value reduce with alternatives error func or
  • Oracle“总”计划成本确实低于其某些要素

    我不明白为什么有时一个计划的总成本可能很小 但查看计划内部我们会发现巨大的成本 确实查询速度很慢 有人能给我解释一下吗 这是一个例子 显然 成本较高的部分来自主选择中的一个字段 该字段在子视图上执行 listagg 并且该子视图的连接条件包
  • 在运行时创建XmlRpcUrl接口

    目前 我正在使用 xml rpc net 接口通过以下语句静态创建 XML RPC XmlRpcUrl http dillieodigital wordpress com xmlrpc php public interface ICSBlo
  • DLLImport 在哪里查找非托管 DLL?

    一个简单的问题 在 Net 中声明 DLLImport 属性时 运行时在哪里寻找解决该 DLL 依赖关系的方法 我是否必须转储 DLL 和所有itsbin 文件夹中的依赖项 我认为它的工作方式与 LoadLibrary 类似 Maybe 使
  • 如何比较 PHAsset 和 UIImage

    我已经转换了一些PHAsset to UIImage PHImageManager manager PHImageManager defaultManager manager requestImageForAsset asset targe
  • 隐藏页面中的div并使其仅在打印引导程序3 MVC 5上可见

    有一个网页向用户显示信息 如果用户决定打印它 我想包含屏幕上不需要的附加信息 但在打印时会很有帮助 为了实现这种行为 我试图做一个div仅在打印时可见 但它并没有起作用 div class visible print hidden lg h
  • 如何构建卡方分布表

    我想在 python 中生成一个卡方分布表作为概率水平和自由度的函数 给定已知的卡值和自由度 如何计算概率是这样的 In 44 scipy stats chisqprob 5 991 2 Out 44 0 05001161502657908
  • 在 git rebase -i 中删除提交不会减少 .git 文件夹的大小

    我有一个 git 存储库 其中 git文件夹是7MB 然后我添加并提交了一个 exe 文件 该文件是16MB其次是 git gc aggressive git prune 经过上述我的 git文件夹现在是23MB 接下来我做了一个git r
  • sklearn Kfold 访问单折叠而不是 for 循环

    使用 cross validation KFold n n folds folds 之后 我想访问索引以进行单折叠的训练和测试 而不是遍历所有折叠 那么我们来看一下示例代码 from sklearn import cross validat
  • 有没有一种方法可以在不使用暂存缓冲区的情况下更新纹理?

    我正在与https vulkan tutorial com https vulkan tutorial com 深度缓冲代码作为基础 进行了一些更改以每帧更新命令缓冲区 我正在使用一种粗略的方法来检查 fps 不确定它到底有多准确 但我正在
  • 亲子信号沟通陷入僵局

    我已经实现了两个程序 parent cpp child c 它们应该通过信号进行通信 以交替方式无限期地工作 然而 由于某种原因 程序在随机的时间后进入死锁 我无法弄清楚为什么 发送给父进程的信号似乎在没有执行信号处理程序的情况下被丢弃 因
  • git log --follow 已重命名的目录有什么技巧吗?

    git 命令有一个有用的命令可以在重命名后跟踪文件 如下所示git log follow path to some file 不幸的是 它仅适用于单个文件 我希望能够做相当于git log follow some directory 做到这