所以git archive --format=tar HEAD
会给我一个当前分支上最新提交的 tar 存档。是否有包含对尚未提交的跟踪文件进行本地修改的版本?
Gil*_*il' 10
git 的方式是提交一切。请记住,分支机构很便宜。
git checkout -b intermediate-releases/20140414
git commit -m 'Wibble wobble wubble'
Run Code Online (Sandbox Code Playgroud)
然后恢复你的工作副本——我不知道如何可靠地做到这一点,但我相信有办法。现在您可以对新分支的提示进行存档:
git archive intermediate-releases/20140414 | gzip >20140414.tgz
Run Code Online (Sandbox Code Playgroud)
如果您真的不想跟踪该存档(但为什么不呢?),您可以创建一个 stash,其优点是可以非常轻松地恢复工作副本。
git stash
git archive 'stash@{0}' | gzip >whatever.tgz
git stash pop
Run Code Online (Sandbox Code Playgroud)
如果您绝对不想对工作副本进行任何更改,您可以使用git ls-files
检索文件列表并将它们存档。
git ls-files HEAD | tar -czf whaterver.tgz -T -
Run Code Online (Sandbox Code Playgroud)