本地仓库如何导出项目
你在公司赶着交接工作,同事临时要你把当前开发的项目传给他,但又不想连带整个 Git 历史记录和隐藏文件一起发过去。这时候,最直接的办法就是从本地仓库“干净”地导出项目代码。
很多人第一反应是手动复制粘贴文件夹,可这样容易漏掉隐藏文件或误包含 .git 目录下的临时数据。更稳妥的方式是利用 Git 自带的导出功能,快速生成一个纯净的项目副本。
用 git archive 导出项目
Git 提供了一个叫 git archive 的命令,专门用来打包指定分支或提交的文件,不包含版本控制信息。
比如你想导出当前主分支的最新代码为一个 zip 文件,可以在项目根目录下运行:
git archive --format=zip --output=../my-project-export.zip HEAD这条命令的意思是:把当前 HEAD(也就是最新提交)的所有文件打包成 zip,输出到上级目录,文件名叫 my-project-export.zip。解压后打开,只有你写的代码,没有 .git 文件夹,清爽又安全。
只导出特定分支或提交
如果你需要的是某个历史版本,比如测试分支 test-v1.2 的代码,命令也一样简单:
git archive --format=zip --output=../project-test-v1.2.zip test-v1.2甚至可以按提交哈希来导出:
git archive --format=tar --output=../backup.tar abc1234支持的格式除了 zip,还有 tar 等,按需选择就行。
配合 .gitattributes 过滤文件
有时候你希望导出时自动排除某些文件,比如日志、配置样例或本地缓存。可以在项目里加个 .gitattributes 文件,写上:
*.log export-ignore
config/local.example.php export-ignore
node_modules/ export-ignore这样再用 git archive 打包时,这些被标记的文件就不会出现在压缩包里,省得手动删。
这个方法特别适合前端打包交付、临时协作或上传到不支持 Git 的平台。不用推远程,不用建新分支,几秒钟就生成一个干净可用的项目包。
下次再有人问你要“纯代码”,别再手动复制了,进终端敲一行命令,喝口水的功夫就搞定了。