【问题标题】:How to checkout previous version of a file but without overwriting a file in git?如何签出文件的先前版本但不覆盖 git 中的文件?
【发布时间】:2020-02-06 20:22:46
【问题描述】:

我知道git checkout <sha> -- <filename> 会将给定文件恢复为给定版本,但我希望恢复该文件但不覆盖现有文件

阐述:

  1. 假设我有一个文件a.txt
  2. 我想创建一个文件b.txt,它只是来自其他提交的a.txt 的先前版本

如果我能以某种方式阅读完整版本的a.txt .. 我可以将其重定向到b.txt

【问题讨论】:

标签: git


【解决方案1】:
git show <rev>:a.txt > b.txt
# or
git cat-file -p <rev>:a.txt > b.txt

&lt;rev&gt; 可以是一个分支、一个标签、一个提交等。&lt;rev&gt;:a.txt 指的是一个存储修订版&lt;rev&gt;a.txt 内容的blob 对象。 git showgit cat-file -p 针对 blob 打印内容,可以将其重定向到 b.txt

gitrevisions

【讨论】:

    猜你喜欢
    • 2016-04-25
    • 2016-10-12
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2013-03-24
    • 2021-03-05
    • 2023-01-14
    相关资源
    最近更新 更多