我在一个文件上对我的本地主人进行了更改。我从另一个分支机构检查了它。
I am in master branch
git checkout development /foo/file1.txt
我需要恢复原始文件。我试着做git pull但它说我已经是最新的了。我没有添加或提交更改。
我使用什么命令从存储库中获取文件的干净/原始副本?或者我本地存储库中的原始副本?
由于
答案 0 :(得分:7)
如果我理解正确,您有一个尚未添加或提交的本地修改文件。如果你运行git status
,你应该看到
# On branch master
# 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: foo/file1.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
如果是这种情况,git实际上是在状态输出中给你一个提示。
您需要做的只是git checkout -- foo/file1.txt
。这将丢弃您在本地所做的更改,并返回已签入的内容。由于git告诉您,当您执行git pull
时,您与遥控器保持同步,因此该版本应与遥控器的版本相同。
希望这会有所帮助。
答案 1 :(得分:1)
如果您想获得文件的干净副本(或恢复对文件所做的更改),请执行以下操作:
git checkout filename
这不仅从您的本地仓库获取副本,而且,副本来自同一分支。
答案 2 :(得分:0)
从 git v2.23 开始,执行此操作的首选方法是:
git restore <filename>