在git存储库中创建文件的每个版本的副本

时间:2017-08-25 08:28:56

标签: git bash command-line

我想将InterestingFile.cpp的每个已提交版本复制到目录中。

目标文件的提交时间戳应为文件名(如/tmp/AllVersions/1495035445

以下示例有效,但需要helper.sh脚本。如何在没有帮助脚本的情况下写一行?

$ git rebase -i --exec "~/helper.sh ~/InterestingFile.cpp" --preserve-merges 0123ABCD


$ cat ~/helper.sh  
#!/bin/bash
TIMESTAMP=`git show -s --format=%ct HEAD` 
cp $1 /tmp/AllVersions/${TIMESTAMP}


$ ls -1 /tmp/AllVersions  # here are the files finally
1499951860
1500038126
1500040256
1500363092

1 个答案:

答案 0 :(得分:1)

git rebase -i --exec "cp ~/InterestingFile.cpp /tmp/AllVersions/$(git show -s --format=%ct HEAD)" --preserve-merges 0123ABCD