我有两个分支:
最近我严重搞砸了我当地的分店(猜猜每个git-newbie在某个时间点都在我的位置)
我如何完全用远程分支替换本地分支,所以我可以从远程分支现在继续我的工作?
(我已经搜索过SO并且在本地检查远程分支没有任何影响)
每当我从遥控器拉出时,我都会收到有关压缩的以下错误.当我运行手动压缩时,我得到相同的:
$ git gc
error: Could not read 3813783126d41a3200b35b6681357c213352ab31
fatal: bad tree object 3813783126d41a3200b35b6681357c213352ab31
error: failed to run repack
Run Code Online (Sandbox Code Playgroud)
有谁知道,该怎么办?
从cat-file我得到这个:
$ git cat-file -t 3813783126d41a3200b35b6681357c213352ab31
error: unable to find 3813783126d41a3200b35b6681357c213352ab31
fatal: git cat-file 3813783126d41a3200b35b6681357c213352ab31: bad file
Run Code Online (Sandbox Code Playgroud)
从git fsck我得到这个(不知道它是否真的相关):
$ git fsck
error: inflate: data stream error (invalid distance too far back)
error: corrupt loose object '45ba4ceb93bc812ef20a6630bb27e9e0b33a012a'
fatal: loose object 45ba4ceb93bc812ef20a6630bb27e9e0b33a012a (stored in .git/objects/45/ba4ceb93bc812ef20a6630bb27e9e0b33a012a) is corrupted
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解读这个吗?
我正在寻找关于悬挂提交和blob的基本信息.
我的回购似乎很好.但是我git fsck第一次跑去看看它做了什么,我有一长串的'悬空blob'和一个'悬挂提交'.
这些是什么东西?哪儿来的?他们是否表明我的回购状态有什么异常(好的或坏的)?
我最近跑git fsck --lost-found了我的存储库.
我希望看到几个悬空提交,我重置了HEAD.
但是,我惊讶地看到可能有数千条悬空blob消息.
我不相信我的存储库有任何问题,但我很好奇是什么原因导致这些悬空斑块?只有两个人在存储库上工作,我们没有做任何与众不同的事情.
我不认为它们是由旧版本的文件替换为新版本创建的,因为git需要保留两个blob以便它可以显示历史记录.
想想看,有一次我们错误地将一个非常大的目录(数千个文件)添加到项目中然后将其删除.这可能是所有悬空斑点的来源吗?
只是寻找洞察这个谜.
当我接近我的配额时,我做了一个Git拉,结果(所以我想),得到了一个损坏的文件:
$ git pull
walk dffbfa18916a9db95ef8fafc6d7d769c29a445aa
fatal: object d4a0e7599494bfee2b5351113895b43c351496b3 is corrupted
$ git fsck --full
bad sha1 file: .git/objects/66/b55c76947b1d38983e0944f1e6388c86f07a1b.temp
fatal: object d4a0e7599494bfee2b5351113895b43c351496b3 is corrupted
$ git cat-file -t d4a0e7599494bfee2b5351113895b43c351496b3
error: unable to find d4a0e7599494bfee2b5351113895b43c351496b3
fatal: git cat-file d4a0e7599494bfee2b5351113895b43c351496b3: bad file
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这种腐败?
.git/objects/66/b55c76947b1d38983e0944f1e6388c86f07a1b.temp为零字节; 删除它没有解决我的问题(相同的错误).
如果我从远程获取提取,我收到以下错误
$ git pull
remote: Counting objects: 85, done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 85 (delta 63), reused 69 (delta 48)
Unpacking objects: 100% (85/85), done.
error: inflate: data stream error (unknown compression method)
fatal: failed to read object 8b0fd4094630fea108b60faa15535ffbc85d87cb: Invalid argument
error: http://myremoterepo.com/project.git did not send all necessary objects
Run Code Online (Sandbox Code Playgroud)
我可以在当地提交.当我检查状态时:
> $ git status On branch vikas Your branch is based on 'origin/master',
> but the upstream is gone. (use "git branch --unset-upstream" to
> fixup) …Run Code Online (Sandbox Code Playgroud) 我变得致命:未能将HEAD解析为有效的参考.每当我尝试提交.
我试过了
echo ref: refs/heads/master >.git/HEAD
Run Code Online (Sandbox Code Playgroud)
但它不起作用
也试过了
git commit
Run Code Online (Sandbox Code Playgroud)
它不能从以下来源工作
Git'致命:没有这样的参考:HEAD'git tag:致命:未能将'HEAD'解析为有效参考
请帮助..我的所有提交历史也都消失了
当我这样做时,我收到以下错误git pull origin master.
error: Unable to find a47058d09b4ca436d65609758a9dba52235a75bd under http://myweb.com/myapp.git
Cannot obtain needed blob a47058d09b4ca436d65609758a9dba52235a75bd
while processing commit 041d57dd5bed9d6c75fe7cce944b2b2904ae3a62.
error: Fetch failed.
Run Code Online (Sandbox Code Playgroud)
几分钟前,一切都工作正常.我没有做任何平常的事情.我一直在做我惯常的提交推拉,现在我突然得到这个错误.
这个错误是什么意思?排除/纠正此错误的步骤是什么?
因为我一直在各个地方之间使用我的git repo,我现在陷入了一个破碎的git repo.当我这样做时,git log我得到了正确的历史,但是当我这样做时,git status我得到了
fatal: unable to read 563e4c9abcd4114e08255db989f0f53426bdeff7
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我试过git fsck:
Checking object directories: 100% (256/256), done.
missing blob 33244941016301570dccdcdc95e543910109d0a8
dangling blob 59f44441e6437ebc4d40182eb8a10d3e07fe367b
missing blob 5dc8ab1804acb58fc658bcd6152fbb246290c8ae
dangling blob 698c775f2599fad3d09906dead4dc67743a984bd
dangling blob 922003b8433bcad6ce9778a37628d738faa26389
dangling blob c33c0528bfee55b04d99de4580da49de4413329b
dangling blob e5107c118bde0edbe5dfb994cb6a50d235c3f06b
dangling blob 437573e539572454cb868ca5a0f5074b96d777ac
missing blob 468d1856336eaa1ce8006f38ce779c0d997c8d48
dangling blob 6fc9c88708d7d5ca455e68781472bdea119997eb
dangling blob 7225d0147fa566369ba3024324b527a7adeac094
dangling blob bb8125d15579fcf37925f09cd1883b15272f9f0d
missing blob c8095f49253ac3787a6f86943160eda2c78a6a28
dangling blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
dangling blob 0bdaed084e15add987ef86fe84f435d085475995
dangling blob 36ee13c9b334da090ea6b194606df8a2852b3b3a
missing blob 563e4c9abcd4114e08255db989f0f53426bdeff7 <= the one which results …Run Code Online (Sandbox Code Playgroud) 我的同事试图git pull从我们的主人那里做一个.他得到了这个错误:
$ git pull
fatal: loose object f7630cc30248df1e19bcb40c9de1b60b71cdfce1 (stored in ./objects/f7/630cc30248df1e19bcb40c9de1b60b71cdfce1) is corrupt
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
幸运的是,我的回购似乎没有腐败,我确实有一份副本f7630cc30248df1e19bcb40c9de1b60b71cdfce1.但我无法弄清楚他需要做些什么.我们尝试将我的副本放在他的.git/objects/f7/目录中,但错误消息保持不变.
它应该只是简单地改变文件,还是我们需要做其他事情?
git ×10
corrupt ×2
git-dangling ×2
blob ×1
corruption ×1
git-branch ×1
git-commit ×1
git-fsck ×1
sourcetree ×1