gpt4 book ai didi

git - 检查 git 中的重复文件(内容)?

转载 作者:太空狗 更新时间:2023-10-29 13:54:07 26 4
gpt4 key购买 nike

在我的“项目/存储库”中,我有两个 MS Visual Studio 项目,一个用于主要代码,一个独立的用于测试。我有一些文件对两者都是通用的(在复制和粘贴的意义上),我想查看/检查它们是哪些文件。

什么是正确的 Git 命令(或 Gui 菜单点击)来查看我是否在整个 repo 树中两次使用了相同的内容 blob?如果我已经正确阅读了所有教程,那么 git 应该对相同文件内容的两个副本有一个 SHA1,并且已经知道了。我希望 Git 有一个命令可以找到并显示这些重复的使用文件路径。

最终,当存在共同的祖先 blob SHA1(但不是共同的位置)时,我希望能够找出版本之间的差异。 [IE。在测试期间,一个版本先于另一个版本更新...]

我知道有这样的副本不是最佳实践,但这是工作结束的方式:-(

我在 Windows 上有 Msysgit 和 GitExtensions...

最佳答案

你可以做类似的事情

git ls-tree -r HEAD

查看 blob 和文件。

如果您不想手动查看哪些是相同的 Blob :

git ls-tree -r HEAD |
sort -t ' ' -k 3 |
perl -ne '$1 && / $1\t/ && print "\e[0;31m" ; / ([0-9a-f]{40})\t/; print "$_\e[0m"'

发件人:Git: Find duplicate blobs (files) in this tree

关于git - 检查 git 中的重复文件(内容)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com