2

我有一个安装了 S3 存储桶的 Amazon EC2 服务器/mnt/git。我上传到使用带有 Putty SSh 的 Git Extensions 的存储桶中有一个裸 git repo。

推送到服务器没有任何警告或错误,但是当我pull将远程主分支位置重置为之前的提交时,就好像推送失败了一样。拉取日志中有一条消息(forced update)

"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 0

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

4

1 回答 1

1

问题是 git 提交过程中的网络超时。使用 fuse 和 s3 存储太慢了。解决方案是将 EBS 设备安装到 EC2 实例,如下所示:使 Amazon EBS 卷可供使用

于 2015-01-26T18:11:21.823 回答