相关疑难解决方法(0)

如何在git历史中grep(搜索)已提交的代码?

我过去的某个时候删除了文件或某些代码.我可以在内容中进行grep(不在提交消息中)吗?

一个非常糟糕的解决方案是grep日志:

git log -p | grep <pattern>
Run Code Online (Sandbox Code Playgroud)

但是,这不会立即返回提交哈希.我一直玩得git grep无济于事.

git diff grep

1342
推荐指数
10
解决办法
36万
查看次数

如何恢复因硬盘故障而损坏的Git对象?

我遇到了硬盘故障导致Git存储库的某些文件损坏.运行时,git fsck --full我得到以下输出:

error: .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack SHA1 checksum mismatch
error: index CRC mismatch for object 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid code lengths set)
error: cannot unpack 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid stored block lengths)
error: failed to read object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa at offset 276988017 from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack
fatal: object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa is corrupted
Run Code Online (Sandbox Code Playgroud)

我有存储库的备份,但包含包文件的唯一备份已经损坏了.所以我认为我必须找到一种方法从不同的备份中检索单个对象,并以某种方式指示Git生成一个只有正确对象的新包.

你能否告诉我如何修复我的存储库?

git corruption data-recovery

92
推荐指数
3
解决办法
9万
查看次数

如何修复损坏的git存储库?

我把我的repo克隆到了我的ubuntu一个文件夹到新机器上,我得到了这个:

christopher@christopher-laptop:~/source/personal$ git clone ~/Ubuntu\ One\ Side\ Work/projects.git/
Cloning into 'projects'...
done.
fatal: unable to read tree 29a422c19251aeaeb907175e9b3219a9bed6c616
christopher@christopher-laptop:~/source/personal$ 
Run Code Online (Sandbox Code Playgroud)

所以我试着看看这里提出的许多其他问题,大多数人说要跑git fsck --full,然后当我尝试时我得到这个.

christopher@christopher-laptop:~/Ubuntu One Side Work/projects.git$ git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (447/447), done.
broken link from  commit 235ae1f48701d577d71ebd430344a159e5ba4881
              to  commit 984c11abfc9c2839b386f29c574d9e03383fa589
broken link from    tree 632a9cf0ef9fccea08438b574e2f1c954f4ff08b
              to    blob 25a742dff0a403b2b3884f2ffddf63eb45721fac
broken link from    tree 632a9cf0ef9fccea08438b574e2f1c954f4ff08b
              to    blob dd4e97e22e159a585b20e21028f964827d5afa4e
broken link from    tree 632a9cf0ef9fccea08438b574e2f1c954f4ff08b
              to    tree 29a422c19251aeaeb907175e9b3219a9bed6c616
broken link from    tree 632a9cf0ef9fccea08438b574e2f1c954f4ff08b
              to …
Run Code Online (Sandbox Code Playgroud)

git

84
推荐指数
7
解决办法
13万
查看次数

如何诊断和修复git致命:无法读取树

我正在使用git管理项目上的文件,并继续遇到这个问题.

当我跑步时,git status我得到了消息

fatal: unable to read tree e2d920161d41631066945a3cbcd1b043de919570
Run Code Online (Sandbox Code Playgroud)

据我了解,我应该检查输出git fsck,我收到

broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree e2d920161d41631066945a3cbcd1b043de919570
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 9b0dd389bd7f9e8d257395d57e0881b7957f9698
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 9e288a4ad60d63f342dfd18237980674426aa725
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 2a04647337089f554fab8c49cfd37149e5f4fc9f
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree ea16658b45ce961adc3c3f519b0e8d9672918ca8
Run Code Online (Sandbox Code Playgroud)

连同很多missing blob消息.

遵循各种资源(例如Git - Broken Links,Missing&Dangling Trees),我只是重新克隆了项目github并重新开始.

一旦我重新克隆了项目,一切都有好处commit,然后问题又出现了.每次重新克隆似乎都不是最佳的,并且似乎违背了使用的想法git,我想尝试理解发生了什么.我该如何诊断并解决这个问题?

git

45
推荐指数
4
解决办法
6万
查看次数

将SourceTree与Git一起使用时出错:"摘要"失败,代码为128:致命:无法读取树

当我们使用SourceTree和我们的特定Git存储库时,我们一直看到弹出一个对话框,并显示错误消息:

"摘要"失败,代码为128:致命:无法读取树152c27e57424de6ae0df1f0d32feba7beae6e2fb

每天多次弹出错误消息.

日志中没有其他信息,我们无法在命令行上使用Git重现错误消息.当我们进行一些测试时:

Craig@DEMO-PC /d/project (major)
$ git cat-file -t 152c27e
tree

Craig@DEMO-PC /d/project (major)
$ git cat-file -p 152c27e
040000 tree 174f073109a9d0721b35e84140d0a7b29dc48ef9    main
040000 tree fb011d0153c1521441d583196a93f945dcb0df1e    test
Run Code Online (Sandbox Code Playgroud)

的运行git ls-tree -r 152c27e吐出来的树,这证实它是所有的孩子src我们的Java项目的文件夹中.

此外,git fsck --full成功没有错误.对象和对象目录的形状为100%,并且没有悬空项.对象的权限似乎很好.

我们可以做些什么来仔细检查我们的存储库的状态,或尝试重现错误消息?

git atlassian-sourcetree

9
推荐指数
1
解决办法
9007
查看次数

如何修复从树到树的git错误断链?

我有一个事务中断,当我再次尝试时,我遇到了空的或损坏的对象的错误,继另一个问题后我删除了所有空文件,当我运行时

git fsck --full 
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

Checking object directories: 100% (256/256), done.
Checking objects: 100% (48774/48774), done.
error: d193ccbc48a30e8961e9a2515a708e228d5ea16d: invalid sha1 pointer in cache-tree
error: df084ac4214f1a981481b40080428950865a6b31: invalid sha1 pointer in cache-tree
broken link from    tree 4bf4869299b294be9dee4ecdcb45d2c204ce623b
          to    tree df084ac4214f1a981481b40080428950865a6b31
broken link from    tree 4bf4869299b294be9dee4ecdcb45d2c204ce623b
          to    tree d193ccbc48a30e8961e9a2515a708e228d5ea16d
missing tree df084ac4214f1a981481b40080428950865a6b31 
missing blob a632281618ca6895282031732d28397c18038e35
missing tree d193ccbc48a30e8961e9a2515a708e228d5ea16d
missing blob 70aa143b05d1d7560e22f61fb737a1cab4ff74c6
missing blob c21c0545e08f5cac86ce4dde103708a1642f23fb
missing blob 9f341b8a9fcd26af3c44337ee121e2d6f6814088
missing blob 396aaf36f602018f88ce985df85e73a71dea6f14
missing blob 87b9d1933d37cc9eb7618c7984439e3c2e685a11
Run Code Online (Sandbox Code Playgroud)

并且知道我不知道如何解决这个问题.

git

7
推荐指数
3
解决办法
2万
查看次数