我在https://bitbucket.org/上有一个回购
几天前由于一个错误,大量的图像文件被推入了回购.然后通过另一个推送删除文件.在那个回购工作正常之后,但是今天当我试图从回购中撤出时:
$ git pull
Password for 'https://repo@bitbucket.org':
warning: no common commits
remote: Counting objects: 4635, done.
remote: Compressing objects: 100% (1710/1710), done.
fatal: Out of memory, malloc failed (tried to allocate 4266852665 bytes)
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)
我试过了:
1)git config --global pack.windowMemory 1024m
2)
$ git count-objects -v
count: 9
size: 48
in-pack: 4504
packs: 1
size-pack: 106822
prune-packable: 0
garbage: 0
Run Code Online (Sandbox Code Playgroud)
那里没有运气,不知道我接下来应采取什么行动......
回购的大小应该在10-20m左右.接下来我应该采取什么行动?
更新1
我执行了这些命令:
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch public/images/*' HEAD
Rewrite …Run Code Online (Sandbox Code Playgroud) 我之前使用 git 没有任何问题,但突然间我无法推送或克隆任何东西。当我使用这个命令时,什么也没有发生,甚至没有错误,所以我必须按ctrl + c或关闭 git 窗口。
我使用这个简单的命令进行推送:
git push origin master
Run Code Online (Sandbox Code Playgroud)
也试过-u参数。
那么我能做些什么来解决这个问题?
更新:
我在虚拟机上安装了一个新的 win xp 并测试推送一些东西,结果和以前一样,所以可能是我的互联网连接有问题。
任何的想法?
我正在使用git cloneBash脚本,它接受任何类型的Git位置(HTTPS,Git,SSH,文件系统......)并将克隆它.但是此脚本必须在不与任何用户交互的情况下工作 更确切地说,我希望这个脚本不要暂停凭据:如果位置需要凭据,并且git无法单独找到它们,我希望Git失败.
我的脚本假设如果你没有设置正确的方法来访问没有密码的这些位置,那么这不是它的问题.但是,解决方案应该让方法知道故障是什么(例如,输出错误"Authentication Failed").
我需要这种行为只是因为它是一个脚本,它是非交互式运行的(cron作业,VM构建......等等).我需要它失败,不要冻结我的脚本等待我无法提供它的信息(并且不要).
因此,在我目前的担忧中,我要求git clone失败而不是询问凭据.
我没有找到任何git clone强制不要求凭证的选项,最好是在验证错误时失败.
我无法使用plain克隆远程存储库
git clone path
Run Code Online (Sandbox Code Playgroud)
我收到了错误"The remote end hung up unexpectedly".我得到的完整信息是:
Cloning into 'xyzabc'...
remote: Counting objects: 4328, done.
remote: Compressing objects: 100% (3861/3861), done.
select: Not enough memory2192/4328), 123.71 MiB | 164.00 KiB/s
ffatal: The remote end hung up unexpectedly
atal: early EOF
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)
我在网上寻找一个解决方案,在尝试了所有其他解决方案后,我们做了以下解决方案:
git clone --depth=1 path
Run Code Online (Sandbox Code Playgroud)
其次是
git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)
现在克隆完全完成了.但是,当我尝试运行git fetch --unshallow来接收整个项目时,我收到错误:
fatal: --unshallow on a complete repository does not make sense
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办请指导
我有固定的git远程网络,我希望它们可以附加到存储库.不幸的是,git-clone没有克隆遥控器.有办法解决吗?
我在 Github 上有一个 git 仓库,看起来像这样:
.git/
assets/
tools/
a.sh
b.sh
c.sh
Run Code Online (Sandbox Code Playgroud)
当然 .git 文件夹不在版本控制中,但您明白了。我想将 tools/*.sh 复制到本地目录,路径如下:
./scripts/git/tools
Run Code Online (Sandbox Code Playgroud)
我当前的目录是一个 git 存储库,它与远程 git 存储库共享完全不同的历史记录,我只想从远程复制一些文件,我不想合并任何内容。
我想我可以做这样的事情:
git clone --path assets/tools/*.sh "$remote_repo" ./scripts/git/tools
Run Code Online (Sandbox Code Playgroud)
但该命令不是真实的,我可以使用一些命令来执行此操作吗?
我能想到的唯一其他方法是将整个存储库克隆到某个临时目录,然后复制文件,但这并不是那么有趣。
我正在尝试从我的 Gitlab 帐户克隆一个空存储库。我只需使用我的 Gitlab 存储库页面上显示的地址SSH:
git@gitlab.xxx.com:USERNAME/project-name.git
Run Code Online (Sandbox Code Playgroud)
然后只需在空文件夹中尝试此操作,但它一直告诉我权限被拒绝,要求重试:
git clone git@gitlab.xxx.com:USERNAME/project-name.git
Cloning into 'project-name'...
git@gitlab.xxx.com's password:
Permission denied, please try again.
git@gitlab.xxx.com's password:
Run Code Online (Sandbox Code Playgroud)
当我选择https克隆地址时,出现以下消息:
remote: HTTP Basic: Access denied
fatal: Authentication failed for ....
Run Code Online (Sandbox Code Playgroud)
我能够登录Gitlab使用该密码登录主页,所以我不知道到底出了什么问题。
怎么了?如何修复它?
我正在尝试取消浅层存储库:
% /bin/git clone --shallow-since='3 years' 'https://github.com/RobertAudi/zsh-hooks'
Cloning into 'zsh-hooks'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 17 (delta 6), reused 12 (delta 4), pack-reused 0
Unpacking objects: 100% (17/17), 5.29 KiB | 1.76 MiB/s, done.
% cd zsh-hooks && git remote -v
origin https://github.com/RobertAudi/zsh-hooks (fetch)
origin ssh://github.com/RobertAudi/zsh-hooks (push)
% git fetch --unshallow origin
fatal: error in object: unshallow 9301f4e3a16df8e7cf8f37b5b93a7b925d8c8bee
fatal: the remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我也尝试过将原点更改 …
如今,git 提供了“部分克隆”选项,可以下载存储库的提交和树,同时允许按需下载 blob,从而节省网络带宽和磁盘空间。
git clone这可以在初始阶段通过传递 来启用--filter=blob:none。但是,有没有办法将现有的本地存储库转换为“blobless”格式?这应该通过删除已知可从“promisor”远程获取的任何本地 blob 来节省一些磁盘空间。
我是一个私人 github 存储库的合作者。我可以分叉它,但是当我尝试将它克隆到我的系统上时,它会显示一个弹出框,要求提供凭据,即使我输入正确的凭据,我也无法登录。
是只有我一个人还是 github 实际上不允许克隆私人仓库,即使我是其中的合作者?
git ×10
git-clone ×10
github ×3
gitlab ×2
bitbucket ×1
clone ×1
credentials ×1
git-fetch ×1
git-push ×1
git-remote ×1
git-subtree ×1
memory ×1
ssh ×1
ssh-keys ×1