需要给别人一份源码快照时,可以用 git archive,它按提交内容导出,不会把 .git 目录和工作区里没提交的临时文件一起带上。
环境:Git 2.25+。在一个已有仓库里试:
git archive --format=tar.gz --prefix=demo/ -o demo.tar.gz HEAD
tar -tzf demo.tar.gz | head
HEAD 也可以换成标签名或提交号。--prefix 让解压后的文件统一落在 demo/ 目录下,发源码包时比直接压整个工作目录更稳。要确认导出的内容,先用 tar -tzf 看清单就行。