Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 未能将git推送到AWS S3 git扩展_Amazon S3_Fuse_Git Extensions_S3fs - Fatal编程技术网

Amazon s3 未能将git推送到AWS S3 git扩展

Amazon s3 未能将git推送到AWS S3 git扩展,amazon-s3,fuse,git-extensions,s3fs,Amazon S3,Fuse,Git Extensions,S3fs,我有一台AmazonEC2服务器,其S3存储桶安装在/mnt/git上。 我使用git扩展和Putty SSh上传到bucket中的是一个裸git repo 推送到服务器时不会出现任何警告或错误,但当Ipull时,远程主分支位置会重置为上一次提交,就像推送失败一样。拉日志中有一条消息(强制更新) "C:\Program Files (x86)\Git\bin\git.exe" pull --progress "aws" From ec2.ip.address:/mnt/git/Project

我有一台AmazonEC2服务器,其S3存储桶安装在
/mnt/git
上。 我使用git扩展和Putty SSh上传到bucket中的是一个裸git repo

推送到服务器时不会出现任何警告或错误,但当I
pull
时,远程主分支位置会重置为上一次提交,就像推送失败一样。拉日志中有一条消息
(强制更新)

"C:\Program Files (x86)\Git\bin\git.exe" pull --progress "aws" 
From ec2.ip.address:/mnt/git/Project
 + e158d62...be6f3f6 master 
-> aws/master  (forced update)
Already up-to-date.
Done
我不知道为什么我会收到这个消息,因为推拉命令不是强制的。推送日志如下所示

"C:\Program Files (x86)\Git\bin\git.exe" push --recurse-submodules=check --progress "aws"     master:master
Counting objects: 10, done.
Delta compression using up to 4 threads.
Total 6 (delta 4), reused 0 (delta 0)
To username@ec2.ip.address:/mnt/git/Project
   be6f3f6..e158d62  master -> master
Done
编辑: 我将repo移动到ec2本地驱动器,问题消失了,这意味着问题在于s3安装。我正在使用fuse和s3fs安装驱动器。我的fstab挂载如下所示:
/usr/bin/s3fs#my bucket/mnt/git fuse default_acl=public read write,allow_other,use_cache=/tmp 0


还有其他人遇到过这个问题吗?

问题是git提交过程中的网络超时。使用fuse和s3存储太慢了。
解决方案是像这样将EBS设备装载到EC2实例:

我的假设是这是一个网络超时问题。S3存储对于此类活动来说太慢了。解决方案是使用EBS卷并以这种方式装载它。S3可以用作回购的备份存储,但不应用于实时中央回购。因此,不建议在s3fs挂载中托管git回购??