Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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
推送后Gitlab中缺少文件_Git_Gitlab - Fatal编程技术网

推送后Gitlab中缺少文件

推送后Gitlab中缺少文件,git,gitlab,Git,Gitlab,我最近将4个提交推送到Gitlab,但现在我的一些文件丢失了。每当我试图查看文件时,都会出现如下错误: 未找到:/gitlab/root/my-app/blob/9f2cc9da2ee7e6b8d0e7506ce8fc89213b73a442/app/controllers/arrivals\u controller.rb 这适用于任何提交和主分支。我尝试重新启动Gitlab,并清除Resque缓存,但没有成功。我可以使用git clone命令将文档拉到新目录 编辑:运行测试bundle exe

我最近将4个提交推送到Gitlab,但现在我的一些文件丢失了。每当我试图查看文件时,都会出现如下错误:

未找到:/gitlab/root/my-app/blob/9f2cc9da2ee7e6b8d0e7506ce8fc89213b73a442/app/controllers/arrivals\u controller.rb

这适用于任何提交和主分支。我尝试重新启动Gitlab,并清除Resque缓存,但没有成功。我可以使用
git clone
命令将文档拉到新目录

编辑:运行测试
bundle exec rake gitlab:check RAILS\u ENV=production
,下面是输出

Checking Environment ...

Git configured for git user? ... yes
Has python2? ... yes
python2 is supported version? ... yes

Checking Environment ... Finished

Checking GitLab Shell ...

GitLab Shell version >= 1.7.1 ? ... OK (1.7.1)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
update hook up-to-date? ... yes
update hooks in repos are links: ... 
Joshua Smock / INTO Arrivals Form ... ok

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes

Checking Sidekiq ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Init script exists? ... yes
Init script up-to-date? ... yes
projects have namespace: ... 
Joshua Smock / INTO Arrivals Form ... yes
Projects have satellites? ... 
Joshua Smock / INTO Arrivals Form ... yes
Redis version >= 2.0.0? ... yes
Your git bin path is "/usr/bin/git"
Git version >= 1.7.10 ? ... yes (1.8.1)

Checking GitLab ... Finished

在这方面一切似乎都正常。

最有可能的是
gitlab satellites
文件夹已损坏。删除该文件夹并重新创建它。此文件夹被
gitlab
用作草稿行-用于合并等。删除此文件夹应该是无害的。为了安全起见,可以在运行以下命令之前将其重命名为其他名称(而不是删除)

bundle exec rake gitlab:satellites:create RAILS_ENV=production

然后重新启动
gitlab

您的本地repo中仍然有这些提交。尝试再次推送它们。当我
git push origin master
时,它会显示
所有内容都是最新的
尝试删除并在服务器上重新创建您的分支?这是一种可能性,但我宁愿保持当前分支不变,并恢复Gitlab中丢失的文件。当我把这些文件拉下来下载时,它们确实存在……试着运行这个命令
sudo-u git-H bundle exec rake gitlab:check RAILS_ENV=production
,以验证是否一切正常我运行了这个命令,但不幸的是,它仍然给了我错误。我假设这意味着我的git存储库已损坏?不要这样认为,因为您能够成功地
推送
克隆
,并将所有提交都保存在克隆的repo中。这是您的
git
repo和
gitlab
前端之间的同步问题。检查
sidekiq
是否显示任何错误。我检查了
sidekiq
,它没有任何错误,但服务器已重新启动,因此它尚未显示任何已处理的内容。是否有日志我可以检查?重新启动服务器应该无关紧要,因为
sidekiq
队列是持久的。所有的队列都是空的吗?是否有作业等待重试?尝试推送一个新的提交,并观察
sidekiq
是否拾取它。如果
sidekiq
保持不活动状态。。。这就是你的问题。所有队列都是空的,没有一个等待重试。我更改了我的
Gemfile
并按下它,然后
sidekiq
拿起它并处理它。