如何从第一次提交"原始报告"中获取原始报告文件,而不会丢失当前提交的可能性?
$ git log
commit 8ad11e4940d81bc33f8d0e19cad6007e632e7434 (HEAD -> master)
Author: Oshirowanen
Date: Wed Jan 31 11:08:18 2018 +0000
Modified Date column to show NA if date is missing
commit 00cb9757d432e4dd425ff33af90ed25c91102914
Author: Oshirowanen
Date: Wed Jan 31 09:31:41 2018 +0000
Added 1 column, removed 4 columns
commit d7e111384e04b52464edda76bcfd24693b89509
Author: Oshirowanen
Date: Wed Jan 31 09:27:03 2018 +0000
Original report
Oshirowanen@Desktop MINGW64 /c/Users/Oshirowanen/Documents/Reports/Report 1 (master)
$
答案 0 :(得分:1)
使用git checkout
:
git checkout d7e1113 -- "Report 1"
(将上面命令中的"Report 1"
替换为您要获取的文件的路径。)
该命令更新文件的索引和工作副本"报告1"使用它在提交d7e1113
中的版本(主题"原始报告")。
答案 1 :(得分:1)
git show
可以做到这一点:
$ git show d7e111384e0:relative/path/to/the/file > where/to/save/the/file
这里,命令的一般形式是git show REVISION:path
,
>
是shell的重定向运算符,可重定向
git show
输出到指定文件。
有关语法的详细信息,请参见gitrevisions
手册页:
<rev>:<path>
,例如HEAD:README
,:README
,master:./README
后缀
:
后跟一个路径,命名由名为的tree-ish对象中给定路径的blob或树。 结肠前的部分。:path
(在冒号前面有一个空的部分)是语法的一个特例 下面描述:在给定路径的索引中记录的内容。以./
或../
开头的路径是 相对于当前工作目录。给定的路径将被转换为相对于 工作树的根目录。这对于从提交或树中处理blob或树最有用 与工作树具有相同的树结构。
使用git help revisions
命令读取它。