2017-08-25 64 views
2

我想将InterestingFile.cpp的每个提交版本复制到一个目录。在git仓库中创建一个文件的每个版本的副本

目标文件应该有它的提交时间戳的文件名(如/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
git rebase -i --exec "cp ~/InterestingFile.cpp /tmp/AllVersions/$(git show -s --format=%ct HEAD)" --preserve-merges 0123ABCD 
+0

子shell'()'解决我的问题。 –

相关问题