推送失败,但git状态显示没有提交

时间:2018-02-19 08:35:51

标签: git

我已推送到特定分支,但由于文件过大而导致推送失败。

因此,当我在Github上检查相应的分支时,没有添加任何新内容。

问题是在本地,当我git status我得到On branch <branch> nothing to commit, working directory clean但显然我的本地和远程回购现在不同了。

我试图修改上次更改中的单个文件,我可以看到现在git status将其显示为已修改,但是其他未能推送的文件在{{{ 1}}输出。

如何让我的本地git存储库“刷新”它对相对于原点的更改的检查?

2 个答案:

答案 0 :(得分:4)

我还没有尝试过@Tim Biegeleisen提供的内容。

最后我用

解决了这个问题
  1. git reset --soft HEAD^
  2. 然后,git status显示了之前暂存的所有文件
  3. 然后我继续使用git reset <filename>来处理超大文件
  4. git push origin <branch>推送剩余的更改。

答案 1 :(得分:2)

如果你已经提交了你的工作,那么Git 应该告诉你On branch <branch> nothing to commit, working directory clean。这里的问题是你的推送失败了,现在你有一个你无法推送的本地提交。

鉴于没有其他人见过这个提交,我建议删除过大的推送文件,然后通过以下方式修改你的提交:

git rm --cached filename
git commit --amend

Git提交修改将重写您分支机构的HEAD中的提交,并在此过程中丢弃旧的提交。

然后,再试一次:

git push origin your_branch