/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!"

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐