我是GIT的新手。我正在使用Git 1.7.9.5版本。
我正在托管在github上的项目。在某个时候从github推送和提取代码时,它可以正常工作,有时它会给我错误。
错误:RPC失败;结果= 22,HTTP代码= 408
致命:远端意外挂断
我没有什么错。如果有人可以建议我一些问题,那可能是问题所在。
所以我在个人服务器上使用git,我有一个旧的仓库,我需要更新.我删除了一堆旧文件并提交并推动了更改.我在我的服务器上使用Web UI(Gitlist).当我使用这个GUI下载repo作为zip文件时,它的大小正确,大约41MB.然而,当我克隆回购时,由于其中一个./git/objects/pack文件的大小约为900MB ,因此它更接近于演出.
当它真的应该小得多时,为什么回购如此之大?
我们面临着git pull花费太多时间的问题,最后它只是失败了。我们正在使用公司 Gitlab。
发生的那一刻
我的一位同事用一些巨大的视频和图像文件更新了 repo。我们尝试提取代码可能是因为该文件花费的时间太长并且也失败了。
我们尝试过的
所有这些都没有解决问题:
git filter-branch.git gc之后git filter-branch。但对于我的同事,他能够非常快速地提取代码,
错误
远程:计数对象:1279,完成。远程:压缩对象:100% (880/880),完成。致命:远端意外挂断 MiB | 743.00 KiB/s
致命:早期 EOF 致命:索引包失败
已编辑
我git push很慢,所以我调查了一下,发现文件夹.git/objects占用了大约450MB.
整个项目只有大约6MB,但我添加了140MB大的档案.由于github不允许大文件,我删除了它们,然后git add -A又尝试再次提交,但是需要很长时间才能上传很多.
它永远需要:
writing objects: 97% (35/36), 210.17 MiB | 49.00 KiB/s
Run Code Online (Sandbox Code Playgroud)
我如何修复我的git存储库?
我已经按照这个答案(How to remove/delete a large file from commit history in Git repository?)来删除存储库中一些不需要的大文件。我已经完成了本地副本中所述的所有步骤(因为尝试在原始的原始存储库中执行此操作会导致错误,只要它没有工作树)。尽管如此,当我完成这些步骤(删除文件等)并在本地副本上执行“git status”时,我得到
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 16 and 18 different commit(s) each, respectively.
Run Code Online (Sandbox Code Playgroud)
我不知道如何将更改发送回中央存储库。有谁能够帮助我?
所以我对git很新,而且我已经有点发酵了.
我对我的本地副本进行了许多新的更改,与我的github repo冲突(但是我的本地副本是正确的,我只想覆盖远程仓库).本地和远程副本分为2和3次提交.
我还意外地将一些非常大的csv文件添加到我的本地提交中,现在我无法推送到远程仓库,git push -f因为github拒绝了大文件.
现在我删除了文件,并将它们从提交中删除git rm --cached "filename.csv",git commit --amend -CHEAD并且它们不再在提交中,因为我可以告诉它从git ls-files | grep "*.csv"哪个返回空白.
但是当我git push -f在不再跟踪它们之后尝试使用时,github仍会检测到它们并拒绝我的推送,因为它们太大了,尽管它们不再在文件系统或提交中.
如何推送本地副本以覆盖远程并获得推送以实现我不再拥有大文件?
提前感谢任何和所有git建议...对于新手来说可能有点混乱.
当我执行以下操作时:
git add *
git commit -m "msg"
git push origin develop
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Counting objects: 25, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (25/25), 46.43 MiB | 2.49 MiB/s, done.
Total 25 (delta 13), reused 0 (delta 0)
remote: Resolving deltas: 100% (13/13), completed with 11 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: ffe0c9f32d9cde4cedfc1f4713eb82b9
remote: error: …Run Code Online (Sandbox Code Playgroud) 我收到这个错误
远程:错误:文件 _____ 为 262.63 MB;这超出了 GitHub 的文件大小限制 100.00 MB
所以我将文件添加到 .gitignore 中。
但它仍在尝试添加它。我需要做些什么才能让它发挥作用吗?
我有一个 git 项目,但问题是目录“.git”太大了。事实上,我的整个项目是 3MB,但“.git”是 36MB。为什么这么大?我怎样才能清洁它?