git 存档,包括未提交的修改文件

Pet*_*ons 8 git

所以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)