git中ssh配置密钥/更换https
·
/ssh配置
1.查看git是否配置全局的name/email
git config --list --global
2.如果没有name/email添加
git config --global user.name "New Name"
git config --global user.email "new.email@example.com"
3.ssh生成密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
-t rsa:指定密钥类型为 RSA(推荐使用 RSA,因为它更通用)。 -
-b 4096:指定密钥长度为 4096 位(更高的密钥长度意味着更高的安全性)。 -
-C "your_email@example.com":添加一个注释,通常是你的电子邮件地址,用于标识密钥。
4.生成两个文件公钥与私钥
私钥:保存在 ~/.ssh/id_rsa 文件中。
公钥:保存在 ~/.ssh/id_rsa.pub 文件中。
5.vim查看公钥,配置到git中就可以使用
/HTTPS配置
1.检查当前远程仓库URL
git remote -v
//如果显示的是SSH方式(类似 git@gitlab.alibaba-inc.com:group/project.git),则需要更换为HTTPS方式
2.更换为HTTPS方式
# 将远程仓库URL从SSH更换为HTTPS
git remote set-url origin https://gitlab.alibaba-inc.com/group/project.git
3.验证更换结果
# 验证远程仓库URL是否已更换为HTTPS方式
git remote -v
origin https://gitlab.alibaba-inc.com/group/project.git (fetch)
origin https://gitlab.alibaba-inc.com/group/project.git (push)
4.配置凭证存储(如果尚未配置)
# 设置全局凭证存储(只需执行一次)
git config --global credential.helper store
5.触发凭证存储
# 执行一次Git操作来触发凭证存储
git fetch
***批量处理多个项目
#!/bin/bash
# 批量更换项目为HTTPS方式的脚本
# 项目列表(修改为你的实际项目路径)
PROJECTS=(
"/path/to/project1"
"/path/to/project2"
"/path/to/project3"
)
# 新的HTTPS地址模板(修改为你的实际GitLab地址)
GITLAB_URL="https://gitlab.alibaba-inc.com"
for PROJECT_PATH in "${PROJECTS[@]}"; do
echo "Processing $PROJECT_PATH..."
# 进入项目目录
cd "$PROJECT_PATH" || continue
# 获取当前SSH URL中的项目路径
OLD_URL=$(git remote get-url origin)
# 检查是否为SSH方式
if [[ $OLD_URL == git@* ]]; then
# 提取项目路径(例如:group/project.git)
PROJECT_NAME=$(echo "$OLD_URL" | sed 's/git@gitlab.alibaba-inc.com://' | sed 's/\.git$//')
# 设置新的HTTPS URL
NEW_URL="$GITLAB_URL/$PROJECT_NAME.git"
# 更换为HTTPS方式
git remote set-url origin "$NEW_URL"
echo " Changed from SSH to HTTPS: $NEW_URL"
else
echo " Already using HTTPS or other protocol"
fi
done
echo "All projects processed!"
更多推荐



所有评论(0)