如何恢复在本地删除但尚未提交的文件?

时间:2019-02-27 05:34:08

标签: git github

我有这种情况:

MacBook:Ja.git alan$ git status
On branch alan-1
Your branch is up to date with 'origin/alan-1'.

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

    deleted:    Ja/Views/CardsTab/Xaml/Actions/QuizActions.xaml
    deleted:    Ja/Views/CardsTab/Xaml/Actions/QuizActions.xaml.cs

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

    modified:   Ja/App/SetResourceColors.cs
    modified:   Ja/App/Styles.cs
    modified:   Ja/Templates/Button/Button.xaml.cs
    modified:   Ja/Views/CardsTab/CardsTab.xaml
    modified:   Ja/Views/CardsTab/Xaml/Actions/Actions.xaml

有没有一种方法可以恢复刚刚删除的这些文件。不确定这是否有帮助,但是原始服务器仍具有这些文件的最新版本。

2 个答案:

答案 0 :(得分:2)

您可以按照提示信息进行操作并尝试:

git reset HEAD -- Ja/Views/CardsTab/Xaml/Actions/QuizActions.xaml

这应该取消删除操作,并使用以下命令恢复文件:

git checkout -- Ja/Views/CardsTab/Xaml/Actions/QuizActions.xaml

正如torek所说,这可以一步完成:

git checkout HEAD -- Ja/Views/CardsTab/Xaml/Actions/QuizActions.xaml

答案 1 :(得分:1)

如果您没有进行任何更改,而只想从远程起源分支进行更新,则可以

git reset --hard HEAD
git pull

您将与远程来源同步

请注意:通过reset --hard丢失所有本地更改

如果您需要保存更改,请

git stash
git pull

现在检查文件是否在其位置

并在需要时应用藏匿处

git stash pop