2013-02-12 67 views
3

我需要从原点拉出更改。问题在于其中一个库已经更新到最新版本,并且使我的应用程序崩溃。我想提取最近的更改,然后返回到以前(或特定)版本的只有一个文件夹,其中包含导致lib的问题。有没有办法做到这一点?如何在git中签出旧版本的文件夹

回答

8
git checkout LAST_WORKING_COMMIT -- vendor/library/in/question 

这将在LAST_WORKING_COMMIT版本检查出的文件夹中。然而,git status会告诉,文件被修改:

$ 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: vendor/library/in/question/file.exe 
# 
no changes added to commit (use "git add" and/or "git commit -a") 
+0

这正是我所需要的。谢谢。有没有办法让这些更改的文件不会自动添加到索引中? – solgar 2013-02-12 10:06:27

+0

'git update-index --assume-unchanged vendor/library/in/question'就是这样做的。不是一个非常直观的命令:-(反向:'git update-index --no-assume-unchanged vendor/library/in/question' – Boldewyn 2013-02-12 10:35:35

+0

工作就像一个魅力。 – dspacejs 2015-10-15 04:46:50

6

使用一个额外的参数git checkout

git checkout REV -- folder 
相关问题