【发布时间】:2020-02-06 20:22:46
【问题描述】:
我知道git checkout <sha> -- <filename> 会将给定文件恢复为给定版本,但我希望恢复该文件但不覆盖现有文件
阐述:
- 假设我有一个文件
a.txt - 我想创建一个文件
b.txt,它只是来自其他提交的a.txt的先前版本
如果我能以某种方式阅读完整版本的a.txt .. 我可以将其重定向到b.txt
【问题讨论】:
标签: git
我知道git checkout <sha> -- <filename> 会将给定文件恢复为给定版本,但我希望恢复该文件但不覆盖现有文件
阐述:
a.txt b.txt,它只是来自其他提交的a.txt 的先前版本如果我能以某种方式阅读完整版本的a.txt .. 我可以将其重定向到b.txt
【问题讨论】:
标签: git
git show <rev>:a.txt > b.txt
# or
git cat-file -p <rev>:a.txt > b.txt
<rev> 可以是一个分支、一个标签、一个提交等。<rev>:a.txt 指的是一个存储修订版<rev> 的a.txt 内容的blob 对象。 git show 或 git cat-file -p 针对 blob 打印内容,可以将其重定向到 b.txt。
【讨论】: