Appearance
使用 direnv 可以为每个项目自动加载环境变量,从而为每个目录加载单独的环境配置,实现项目目录中的 Git 配置自动切换。
安装 direnv
在 Ubuntu 和 Arch Linux 上安装
安装 direnv:
在 Ubuntu 上运行:
bashsudo apt install direnv
在 Arch Linux 上运行:
bashsudo pacman -S direnv
配置 shell 环境:
在 shell 配置文件中添加以下内容:
对于 bash,在
~/.bashrc
中添加:basheval "$(direnv hook bash)"
对于 zsh,在
~/.zshrc
中添加:basheval "$(direnv hook zsh)"
对于 Fish,在
~/.config/fish/config.fish
中添加:fishdirenv hook fish | source
重新加载 shell 配置:
bashsource ~/.bashrc # 或者 source ~/.zshrc 或 source ~/.config/fish/config.fish
设置 SSH 配置文件
编辑 ~/.ssh/config
文件(如果不存在,则创建该文件),并添加以下内容:
bash
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
根据需要更改 IdentityFile
的路径
设置 .envrc
在项目目录下创建 .envrc
文件,添加以下配置:
bash
# 设置项目特定的 Git 用户信息
git config user.name "Project Specific Name"
git config user.email "project_specific_email@example.com"
# 指定 SSH 密钥路径
export SSH_KEY_PATH="$HOME/.ssh/id_rsa_custom"
# 如果 SSH 密钥存在,则添加到 ssh-agent
if [ -f "$SSH_KEY_PATH" ]; then
ssh-add "$SSH_KEY_PATH"
fi
允许 .envrc
文件
进入项目目录后,运行以下命令以使 direnv 允许并加载 .envrc
配置:
bash
direnv allow