另一位开发人员做出了承诺,更改了多个文件,包括我一直在处理的文件。
commit 518cf1750987d789786c7f2f095e4c892fc9bc1f
File: J/Views/CardsTab/CardsTab.xaml
从Github的历史来看,它似乎已经覆盖了我所做的许多更改。
有没有一种方法可以将一个文件恢复到提交前的状态?
答案 0 :(得分:0)
您可以尝试使用命令git reset --soft commitid
对要更改的文件进行软重置:
。之后,您可以使用以下命令将单个文件重置为HEAD。
您可以使用以下命令将特定文件的更改重置为索引:
git checkout -- CONTRIBUTING.md
以下命令会将文件重置为HEAD,这会将工作副本和索引都更新为HEAD:
git checkout HEAD -- CONTRIBUTING.md
参考: https://git-scm.com/docs/git-checkout
或者我认为可行的另一种方法是:
J/Views/CardsTab/CardsTab.xaml
这将使您的工作分支保持清洁,并且只保留您所需的更改。
答案 1 :(得分:0)
您可以使用git checkout
将工作目录中的文件重置为处于特定提交状态。
如果我理解正确,那么“错误”提交是518cf1750987d789786c7f2f095e4c892fc9bc1f
,您需要将文件重置为之前的状态。因此,您要查找的命令行是这样的:
git checkout 518cf1750987d789786c7f2f095e4c892fc9bc1f^ -- J/Views/CardsTab/CardsTab.xaml
的意思是“在518cf1750987d789786c7f2f095e4c892fc9bc1f
之前的提交中检索文件J / Views / CardsTab / CardsTab.xaml(^
是对提交父级的引用)。
GL!