我对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:
我认为它与Windows的GitHub无关,我重新创建了存储库,可以从git'控制台'中提交测试更改(添加和删除文件)。和GitHub应用程序。
但是,当我尝试对服务器爆炸时提交的两个文件进行更改时,我得到上面的错误。所以这个问题与服务器上的这些特定文件有关。
答案 0 :(得分:1)
因此,当我看到我遇到问题的有问题的文件是我在机器崩溃时提交的文件时,我们尝试让其他人创建一个小的更改并将这些更改提交给系统。
这对他们有用。然后,我可以对他们的更改进行拉动,然后我可以将更改提交到文件,将所有内容恢复到应该如何。
所以答案很简单,让其他人将文件提交到存储库中,然后将它们拉回来。
为什么这个工作有点神秘。据推测,在崩溃之后某些用户特定的某些地方处于不良状态,所以拉一个新版本会重置这个“腐败”。
无论如何,它现在的工作如此快乐!由于谷歌在这个问题上的结果很少,而且其他人也有类似的问题,我会把这个问题留下来。