小编Jan*_*hoł的帖子

在git中,我可以恢复以前未提交的索引状态吗?

我修改了一些文件并暂存它们(它们已添加到索引中)。然后我就错误地打电话了git reset --hard。是否可以将索引恢复到重置之前的状态?换句话说,我正在寻找类似reflogfor index 的东西,它允许我浏览索引的先前状态,甚至是未提交的状态。

git indexing

5
推荐指数
1
解决办法
253
查看次数

如何只用sed替换一行中的最后一场比赛?

使用sed,我可以使用替换一行中的第一个匹配项

sed 's/pattern/replacement/'
Run Code Online (Sandbox Code Playgroud)

和所有匹配使用

sed 's/pattern/replacement/g'
Run Code Online (Sandbox Code Playgroud)

如何只替换最后一场比赛,而不管它之前有多少场比赛?

text-processing replace sed

5
推荐指数
3
解决办法
9525
查看次数

Git恢复:"目标文件为空".如何重建树木?

注意:我没有此存储库的任何先腐败克隆.我相信我的情况与此处描述的不同,因为我错过了一棵树,而不是一块树.

发生了什么:

当我尝试通过LAN克隆存储库(通过SSH)时,Git返回错误,说明存储库已损坏:

remote: error: object file ./objects/2e/223ce259e9e33998d434acc778bc64b393d5d4 is empty
remote: fatal: loose object 2e223ce259e9e33998d434acc778bc64b393d5d4 (stored in ./objects/2e/223ce259e9e33998d434acc778bc64b393d5d4) is corrupt
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
Run Code Online (Sandbox Code Playgroud)

我找到了git fsck可用于诊断腐败的地方,但它并没有告诉我任何新的东西:

git fsck --full
error: object file ./objects/2e/223ce259e9e33998d434acc778bc64b393d5d4 is empty
fatal: loose object 2e223ce259e9e33998d434acc778bc64b393d5d4 (stored in ./objects/2e/223ce259e9e33998d434acc778bc64b393d5d4) is corrupt
Run Code Online (Sandbox Code Playgroud)

我已经尝试在本地克隆存储库(使用--no-hardlinks)以查看发生了什么,但我得到了完全相同的结果.

然后我偶然发现了这个问题,回答的人刚刚删除了空文件(步骤3),所以我做了这个(即我已经223ce259e9e33998d434acc778bc64b393d5d4 …

git recovery corruption git-submodules

3
推荐指数
1
解决办法
1434
查看次数

如何在git中获取HEAD的当前状态?

例如,如果我在一个分支上,我想获取分支名称。但如果我处于分离的 HEAD 状态,我想获取提交 id。

基本上,我正在寻找一个.git/HEAD文件界面。我知道我可以做到cat这一点,但也许有一个命令可以为我做到这一点(这样我就不必处理边缘情况,例如GIT_DIR不在里面GIT_WORK_TREE等)

git

0
推荐指数
1
解决办法
1636
查看次数