我有这种情况:
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
有没有一种方法可以恢复刚刚删除的这些文件。不确定这是否有帮助,但是原始服务器仍具有这些文件的最新版本。
答案 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