2012-07-16 55 views
1

我在一个文件上对本地主文件进行了更改。我从另一个分支检查了它。Git - 对文件进行本地更改,但是,需要从远程存储库获取原始副本?

I am in master branch 
git checkout development /foo/file1.txt 

我需要恢复到原始文件。我试图做拉,但它说我已经是最新的。我没有添加或提交更改。

我使用什么命令从存储库中获取文件的干净/原始副本?或从我的本地存储库的原始副本?

感谢

回答

5

如果我理解正确的,您有没有添加或犯了本地修改的文件。如果您运行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 pull是一个糟糕的做法。
  2. 如果你只想得到一个文件的原始副本(或恢复到一个文件中所做的更改),这样做:

    git的结帐名

这不仅得到副本您的本地回购,但副本取自同一分支。

相关问题