【问题标题】:Restore files from before git pull从 git pull 之前恢复文件
【发布时间】:2013-06-12 05:43:41
【问题描述】:

我的 git 存储库有问题。我将描述我所做的。

  • 我使用命令git init 在现有文件夹中创建了一个存储库,其中包含文件
  • 我用git add origin git @ ...添加了一个遥控器
  • 我使用命令 git pull origin master 而不是提交,它覆盖了我的文件,即具有空存储库的文件

有什么方法可以恢复我的文件吗?

【问题讨论】:

  • git pull 不应该与未提交的本地更改混淆。你确定他们走了?当我尝试您所说的操作时,我收到“错误:未跟踪的工作树文件 将被合并覆盖”
  • 是的,它们不见了...我不知道为什么...这是我的终端历史记录:git init git st git add -A git remote add origin git@github.co... git拉原点主人
  • @Joe 我可以重现这一点,当我在没有任何提交的情况下在新存储库中进行拉取时没有任何警告(只是索引中的文件)。
  • @Stefan 什么版本的 git?因为我得到了我在尝试之后发布的结果,然后再发表评论。嗯。
  • @Joe 1.8.3.1: mkdir foo && cd foo && git init . && touch bar && git add bar && git remote add origin git://github.com/github/gollum.git && git pull origin master 在我的系统上没有显示错误,并从 repo 中默默地删除了 bar。当至少有一次提交时,我确实看到了错误,但对于没有提交的 repo 则没有。

标签: git github commit pull revert


【解决方案1】:

一个 git pull 是一个 fetch 和一个 merge 所以对于安全检查一个新分支是可逆的:

git checkout -b restore

然后返回

git reset --hard HEAD^

【讨论】:

猜你喜欢
  • 2016-04-16
  • 2017-12-26
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 2023-03-06
  • 2014-12-01
  • 2021-09-12
  • 2011-08-19
相关资源
最近更新 更多