导出上个月的git提交

时间:2016-04-26 13:27:56

标签: git

Git中是否有任何命令可以导出所有文件和文件夹结构。上个月或过去7天?

我正在寻找这样的事情(仅仅过了一段时间):

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $commit_id | xargs tar -rf mytarfile.tar

2 个答案:

答案 0 :(得分:0)

您可以使用git format-patch一次备份单个提交。但是你仍然需要原始的repo来重新应用补丁。

commit=$(git rev-list -n 1 --before="1 month ago" origin/master)
datestr=$(date +%F)
git format-patch --stdout $commit.. | gzip -c > /path/to/backups/backup.$datestr.am.gz

答案 1 :(得分:0)

您可以使用git bundle。这主要适用于使用git将文件移动到另一台机器(可能是离线),但也可能适用于其他场景。

请参阅帮助页面中的示例:

  

您可以根据时间使用基础:

     

$ git bundle create mybundle --since=10.days master