由于与过时的远程git存储库同步而导致本地文件的更改丢失

时间:2019-02-20 17:27:38

标签: git gitlab git-commit git-push git-revert

我尝试通过以下命令将提交推送到gitlab存储库(我将在描述输出时介绍):
git checkout origin没有名为origin
的分支 git checkout -b origin
git status
git add README.md
git add src/example.ipynb
git add src/.ipynb_checkpoints/
git commit -m notebook update
git push origin master,这是我意识到自己可能会头昏脑胀并转为大师的地方
git checkout master
git status仍未显示更改
git log -1
git checkout master
git reset --hard 44263cc6fd2bd60be54da344a6d344eb3c42a03a
git push origin master

当我发现本地笔记本文件已还原为旧版本时,我尝试通过执行以下操作还原上次发布的提交: git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all
git revert 407302e

然后我从运行git revert时遇到以下错误:

error: your local changes would be overwritten by revert.
hint: commit your changes or stash them to proceed.
fatal: revert failed

因此,如您所见,一系列错误的决定将我带到了这里,我该如何恢复文件中的更改?谢谢

1 个答案:

答案 0 :(得分:0)

我部分解决了这个问题,这要归功于GitKraken。即使仍然无法将提交恢复到合并冲突,它仍然允许我查看新文件和旧文件之间的差异,我确信可以通过命令来实现,但是对于git来说却是很多工作像我这样的菜鸟。