2012-07-12 45 views
2

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

+0

得到它听起来好像你手动创建了补丁。使用'git format-patch'为您的(提交的)更改生成补丁文件。 – poke 2012-07-12 08:51:44

回答

0

如果这些文件已经提交,一个简单的

git checkout - 
# or 
git checkout -f HEAD 

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

0

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

如果您生成新的文件补丁采取的git diff输出,你将不能发出任何Git命令,让他们回来,因为他们从来没有部分任何跟踪的东西。通过删除所做修补程序的内容来重新创建文件。

如果您生成新的文件补丁让他们致力于历史,你可以回到的是最新的原始状态后,承诺将通过这些方法中的任何一个:

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

小心你在做这件事时没有现有的工作。存储是所有这些命令中最安全的一个,因为它将修改状态存储在历史记录中的引用中。如果你使用了某些东西,你可以用stash pop