相关疑难解决方法(0)

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

如何处理Git"无法读取"错误

我在我的git存储库中收到此错误:

22:09:15 $ git status
# On branch master
error: Could not read 8124cc15c63be92d534e4cdfa33c38d54deee122
error: unable to read tree object HEAD
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

谷歌搜索error: unable to read tree object HEAD不会带来太多帮助,这个错误似乎非常罕见.我不知道如何处理它.这可能是硬盘故障吗?

编辑:输出git fsck如下:

broken link from  commit 607328dc80e4901a55b95c683d4fbf43e6df28bf
              to    tree 8124cc15c63be92d534e4cdfa33c38d54deee122
missing tree 8124cc15c63be92d534e4cdfa33c38d54deee122
dangling tree 56b5d4a5e429d251582ec927bca7ef1225510c41
dangling tree 0259d2d38b18b6136bb6070fb41faf3624453cc6
Run Code Online (Sandbox Code Playgroud)

git

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

Git历史记录 - 按关键字查找丢失的行

我在我的Git存储库中有一个包含单词"Foo"的行,之前有几百个提交.

如果有没有办法找到它的修订号,那是最后一次没有购买FishEye?

git version-control

44
推荐指数
1
解决办法
7147
查看次数

Git搜索所有差异

我正在尝试搜索与特定变量名称相关的git历史记录中的更改.

我试过这样做:

git diff HEAD~25000 | grep -in mydistinctvariablename
Run Code Online (Sandbox Code Playgroud)

结果不告诉我结果行来自哪个提交,并且需要相当多的时间(大约5-7分钟).

有没有人有更好的解决方案,时间和结果?

git diff search grep

27
推荐指数
1
解决办法
1万
查看次数

搜索git使用Regex提交

我有一个git存储库,包含数百个提交和几个分支.如何搜索包含某个字符串的特定提交,例如"辅助函数"?理想情况下,字符串可以用正则表达式表示.

regex git command-line

22
推荐指数
2
解决办法
1万
查看次数

不区分大小写的git pickaxe搜索

我试图寻找到一个特定的字符串或任意大写体(例如所有提交foobar,FooBar,fooBar在一个Git仓库)引入/删除.

基于这个SO答案(涵盖了不同的基本用例),我首先尝试使用git grep

git rev-list --all | xargs git grep -i foobar
Run Code Online (Sandbox Code Playgroud)

这非常糟糕,因为它只提供了关于字符串是否存在于提交中的信息,因此我最终得到了大量多余的提交.

然后我尝试了pickaxe,这让我大部分都在那里,例如

git log --pickaxe-regex -S'foobar' --oneline
Run Code Online (Sandbox Code Playgroud)

这只是小写的foobar.我尝试了-i旗帜,但这似乎不适用于该--pickaxe-regex选项.然后我使用这样的模式,这让我更进一步:

git log --pickaxe-regex -S'.oo.ar' --oneline
Run Code Online (Sandbox Code Playgroud)

有没有办法做--pickaxe-regex不区分大小写的匹配?

我正在使用git v1.7.12.4.

git

13
推荐指数
1
解决办法
4356
查看次数

有没有办法从它的消息中获取提交的SHA?

在做一个时git tag,我并不总是很记得HEAD~6(例如)是包容性的还是排他性的.

鉴于我的大部分提交都以问题编号为前缀,我想知道是否有一些魔术命令用于从其部分消息中搜索提交SHA.

我知道git log从那里开始工作很容易,但我想要更容易:)

编辑:有人也提出了相反的问题:在Git中,有没有办法获得任意提交的"友好"名称?

git

12
推荐指数
2
解决办法
3324
查看次数

如何在包含特定文本的给定文件中查找提交?

我的 git 存储库中有一个文件被更改了很多次。我想知道此文件中存在特定文本的修订。

有没有 git 命令可以获取这些信息?

就像是:

git find "specific_text" -- /frequently/modified/file
Run Code Online (Sandbox Code Playgroud)

这将输出提交列表。

git

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

gitk中正则表达式的格式是什么?

我正在尝试在 gitk 中使用查找/“添加/删除字符串”/正则表达式选项。我尝试过的语法不起作用,我找不到描述它接受的正则表达式语法的文档。

我正在尝试同时匹配Modem_WakupModem_UnWakeup。也不Modem_(Un)?WakeupModem_\(Un\)?Wakeup,也不是Modem_\(Un\)\?Wakeup,也不是任何其他明显的工作。我可以单独找到字符串,所以我知道应该有匹配项。

那么它使用什么语法呢?

regex git tcl gitk

7
推荐指数
1
解决办法
1146
查看次数

使用正则表达式搜索github仓库


我想使用正则表达式搜索我公司的github源网站.反正有可能吗?

search github

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

标签 统计

git ×8

regex ×2

search ×2

bash ×1

cmd ×1

command-line ×1

diff ×1

github ×1

gitk ×1

grep ×1

powershell ×1

tcl ×1

version-control ×1