GIT:即使文件被删除,如何将文件结帐到头?

时间:2015-04-23 15:56:29

标签: git copy reset git-checkout revision

我想创建脚本,其中包括:

  1. 当我的更改(我知道修订版)时将文件恢复到修订版 并从git log --name-status更改文件,
  2. 复制文件,
  3. 将文件恢复为HEAD。
  4. 所以我这样做:

    git checkout (hash with my changes) file.x
    cp file.x directory/to/copy/file.x
    git checkout HEAD file.x
    

    并且它适用于绝大多数情况,但不适用于所有情况 - 当文件在较新版本中重命名或删除且在HEAD中不存在时,它不起作用。

    所以我的问题是:如何将单个文件从旧版本恢复到HEAD,即使HEAD中不存在该文件?

1 个答案:

答案 0 :(得分:0)

假设您想要的提交是testcommit:

randint(0, len(deck)-1)

git checkout手册页提供了更多信息。

作为旁注,我一直对这个命令感到不舒服,因为它用于普通事物(在分支之间切换)和不寻常的破坏性事物(丢弃工作目录中的变化)。