我对 git 有一个相当令人担忧的问题。
几天前,当服务器 git 处于蓝屏状态时,我正在提交一些更改。(我们认为它实际上是由 git 引起的。)
从那以后,我无法对存储库进行任何更改,而其他人可以。当服务器崩溃时,我不能再提交对我正在提交的文件的更改,但是我可以提交对其他文件的更改。
我尝试创建一个新目录并克隆到其中。以及git stash
, git pull --rebase
, git stash apply
.
无论如何,当我现在尝试提交服务器蓝屏时提交的文件时,服务器返回错误:
$ git push -v
Pushing to http://bjury1@server:7990/scm/project.get
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 745 bytes | 0 bytes/s, done.
Total 7 (delta 6), reused 0 (delta 0)
POST git-receive-pack (881 bytes)
To http://bjury1@server:7990/scm/project.get
! [remote rejected] master -> master (missing necessary objects)
error: failed to push some refs to 'http://bjury1@server:7990/scm/project.get'
我可以提交测试更改,例如添加和删除文件。
我不太确定 git 是如何安装在这里的,我知道我们有(非常旧的版本)Stash和Jira,并且它以某种方式内置于其中。问题是如果服务器对我来说很糟糕,我什至不知道如何修复它!
无论如何要重置或查询服务器上特定文件的状态?
任何建议都感激不尽!
编辑:
值得一提的是,我通常使用GitHub for Windows来提交更改,并且只有在出现问题时才会退回到 shell。巧合的是我们的服务器蓝屏有一个升级到这个应用程序。
编辑2:
我认为它与 GitHub for Windows 无关,我重新创建了存储库,并且可以从 git 'console' 和 GitHub 应用程序提交测试更改(添加和删除文件)。
但是,当我尝试对服务器崩溃时提交的两个文件进行更改时,我得到了上面的错误。所以问题与服务器上的这些特定文件有关。