恢复在修补程序创建过程中删除的原始文件

时间:2012-07-12 05:51:26

标签: git

我刚开始使用git。出于某种原因,我必须创建一个包含我的更改的补丁(文件修改+ 4个新文件创建)。我成功地创造了一个补丁。但是在这个过程中,我创建的那些文件被删除了。我又想要那些文件。我怎么能得到它。

2 个答案:

答案 0 :(得分:0)

如果提交了这些文件,那就简单了

git checkout -
# or
git checkout -f HEAD

应该足以再次检查工作目录的内容(但它可以覆盖任何当前 - 尚未提交的工作),所以要小心(git stash首先可能有用)。

答案 1 :(得分:0)

您需要使用补丁吗?假设你发送它们的位置,它们也使用git,你可以给它们发送一个git包。在这里查看git bundle命令:http://www.kernel.org/pub/software/scm/git/docs/git-bundle.html

如果您通过获取git diff的输出为新文件生成了补丁,那么您将无法发出任何git命令来取回它们,因为它们从不是git跟踪的任何内容的一部分。只需通过删除所做补丁的内容来重新创建文件。

如果在将新文件提交到历史记录后生成新文件的修补程序,则可以通过以下任何一种方法返回到最新提交的原始状态:

git stash 
git checkout -- .
git reset --hard

请注意,在执行此操作时您没有现有工作。 Stash是所有这些命令中最安全的一个,因为它将修改的状态存储在历史记录中的引用中。如果你发现了什么,你可以用stash pop

取回它