GIT:如何在不覆盖当前提交的情况下签出先前提交的文件?

pun*_*lly 12 git version-control

几个提交以前我有一些javascript工作方式.在几次提交的过程中,我现在以另一种方式工作.我想查看该文件,因为它可能是在几个提交之前,因为我可能想在新的javascript中使用它的方面.但是,我不想将我当前的文件恢复到原来的状态.我只是想打开旧文件,浏览一下它,然后将一些代码复制并粘贴到新文件中.

如何在不覆盖最新版本的情况下从先前的提交中检索文件的副本?

tha*_*era 13

只需将输出重定向git show到文件即可.

git show *SHA-of-old-commit*:*filename* > newfilename
Run Code Online (Sandbox Code Playgroud)

例如:

git show 7c4eacc:main.cpp > main.cpp.old
Run Code Online (Sandbox Code Playgroud)