git reset - hard origin / master失败

时间:2016-07-23 00:14:17

标签: git

尝试放弃服务器上的更改,并使其与origin / master完全相同:

git fetch --all
git reset --hard origin/master

我之前在没有问题的情况下完成了同样的回购,但这次它失败了以下内容:

fatal: Could not reset index file to revision 'origin/master'

尝试了以下内容:

  1. 删除索引并按建议here重置:

    rm .git/index
    git reset
    
  2. 还建议here某些进程可以锁定.git \ index。该杀死进程然后执行git reset可能会修复它,但不确定如何检查某些内容是否远程锁定文件。似乎删除索引文件和重置也会产生同样的效果。

  3. 放松心情。真的很感激任何帮助。

3 个答案:

答案 0 :(得分:9)

有同样的问题,因为reset --hard应该始终有效,但工作树似乎与我的目标分支有很多不同。

我没有时间去挖掘它,但偶然发现了这个:

首先运行git gc进行垃圾回收。它将删除不必要的文件并优化本地存储库(可以找到有关git gc的更多信息here)。

然后简单reset,最后reset --hard到所需的分支。

$ git gc

$ git reset

$ git reset --hard <target_branch>

答案 1 :(得分:0)

只想指出,这最终成为我问题的根源:

在这里还建议某些进程可以锁定.git \ index。那个杀死进程然后执行git reset可以解决这个问题,但是不确定如何远程检查文件是否有锁定。似乎删除索引文件并重置也会产生相同的效果。

如果您在本地运行的任何文件(例如Jekyll,React等)都对项目中的文件有锁定,请使用 Ctrl + C终止该进程 / Cmd + C 将解决问题。

答案 2 :(得分:0)

我遇到了同样的问题,意识到我已经用完了磁盘空间...