Git克隆时如何将临时文件存储到$TMPDIR而非当前工作目录?
Git克隆时将临时文件移至$TMPDIR的解决方案
当然有办法解决这个问题,核心是利用Git的环境变量指定临时文件存储路径:
使用
GIT_TMP_DIR环境变量
Git支持通过GIT_TMP_DIR环境变量指定操作过程中临时文件的存放目录。你只需要在执行git clone命令前设置该变量指向$TMPDIR(或你指定的tmpfs路径)即可,这样克隆产生的临时文件会直接写入内存文件系统,避免在Samba共享目录中频繁读写,减少重复网络传输。具体执行命令示例:
GIT_TMP_DIR=$TMPDIR git clone -b releases/gcc-13.2.0 git://gcc.gnu.org/git/gcc.git永久生效配置
如果希望所有Git操作都默认使用该临时目录,可以将环境变量配置加入shell的初始化文件:echo 'export GIT_TMP_DIR=$TMPDIR' >> ~/.bashrc # zsh用户可写入~/.zshrc执行
source ~/.bashrc使配置立即生效。
注意事项:
- 确保
$TMPDIR所在的tmpfs有足够存储空间,GCC仓库克隆过程中临时文件会占用较大内存空间,若tmpfs容量不足可能导致克隆失败。 - 部分旧版本Git可能不支持
GIT_TMP_DIR,建议升级到Git 2.15及以上版本以确保该功能正常工作。
内容的提问来源于stack exchange,提问作者Roland Mainz
相关产品推荐
相关产品推荐

