news 2026/7/7 17:41:21

GIT使用方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GIT使用方法

目录

SSH方式

成员添加公钥到自己的 GitLab 账户

具体使用场景

场景1:新成员第一次拉取代码

场景2:提交代码

场景3:提交代码到仓库

查看自己的权限

四、权限管理和访问控制

GitLab 中的权限级别

五、团队协作最佳实践

分支策略示例

避免冲突的工作流程

六、问题排查和调试

测试 SSH 连接

检查 Git 配置

解决权限被拒绝问题

七、为团队成员提供的一键设置脚本

八、管理员操作指南

添加团队成员到项目

设置分支保护规则

九、总结

SSH Key 使用规则:

HTTPS+ Personal Access Token

方案B:使用 HTTPS + Personal Access Token(推荐)

三、不同认证方式对比

四、使用 Personal Access Token 的完整流程

1. 生成 Token

2. 克隆仓库

3. 设置自动认证

五、一键配置脚本

六、如果坚持使用 SSH 密钥认证

1. 验证您的密钥是否有效

2. 检查 GitLab 是否接受您的密钥

3. 使用标准长度的密钥

七、推荐的解决方案

对于生产环境部署:

对于个人开发:

八、故障排除

问题:Token 认证失败

问题:凭证不被保存

九、总结


SSH方式

在本地git命令行执行:ssh-keygen -t ed25519 -C "your_email@example.com" -f /root/.ssh/id_ed25519

其中ed25519是密钥文件名字 "your_email@example.com" 是一个提示可以任意填写

-f后面的 /root/.ssh/id_ed25519 是保存的位置

这条命令会生成2个文件。后缀有pub的要粘贴到放在git服务端的SSH key里 作为公钥

没有这个后缀的是私钥保存在本地,使用git的时候会携带私钥发送到git服务端。服务端根据私钥用公钥进行身份认证。弱国本地删除了私钥就会认证失败无法使用git。

成员添加公钥到自己的 GitLab 账户

  1. 登录 GitLab

  2. 点击头像 →Edit profile

  3. 左侧SSH Keys

  4. 粘贴公钥:cat ~/.ssh/id_ed25519.pub

  5. 添加描述,点击Add key

# 在 GitLab 网页操作:
# 项目 → Settings → Members
# 添加成员,设置权限级别:
# - Maintainer: 管理权限
# - Developer: 开发权限(可以推送)
# - Reporter: 只读权限

具体使用场景

场景1:新成员第一次拉取代码

# 1. 克隆仓库 git clone git@192.168.1.1:admin/xiangmu342.git # 2. 进入项目目录 cd xiangmu342 # 3. 配置用户信息(重要!) git config user.name "张三" git config user.email "zhangsan@company.com" # 4. 查看项目状态 git status

场景2:提交代码

# 拉取远程最新代码 git pull origin main # 或分步操作 git fetch origin git merge origin/main

场景3:提交代码到仓库

# 1. 修改文件后添加到暂存区 git add . # 2. 提交更改 git commit -m "描述本次修改的内容" # 3. 推送到远程仓库 git push origin main
查看自己的权限
# 在仓库目录中查看远程信息 git remote show origin

四、权限管理和访问控制

GitLab 中的权限级别

五、团队协作最佳实践

分支策略示例

# 1. 主分支保护 git checkout main git pull origin main # 2. 创建功能分支 git checkout -b feature/新功能名称 # 3. 开发完成后提交 git add . git commit -m "完成新功能开发" # 4. 推送到远程 git push origin feature/新功能名称 # 5. 在 GitLab 创建 Merge Request
避免冲突的工作流程
# 每天开始工作前 git checkout main git pull origin main # 创建新分支 git checkout -b feature/当天工作内容 # 工作完成后 git add . git commit -m "完成工作内容" git push origin feature/当天工作内容

六、问题排查和调试

测试 SSH 连接
# 测试到 GitLab 的连接 ssh -T git@192.168.60.36 # 如果失败,检查密钥 ssh -vT git@192.168.60.36 # 详细模式
检查 Git 配置
# 查看当前用户配置 git config --list # 查看仓库特定配置 git config --local --list
解决权限被拒绝问题
# 如果出现 Permission denied # 1. 检查 SSH 密钥是否正确添加 # 2. 检查项目成员权限 # 3. 检查分支保护规则

七、为团队成员提供的一键设置脚本

创建team_setup_guide.sh

#!/bin/bash echo "=== GitLab 团队成员设置指南 ===" # 检查当前用户 CURRENT_USER=$(whoami) echo "当前用户: $CURRENT_USER" # 生成 SSH 密钥 echo "1. 生成 SSH 密钥..." ssh-keygen -t ed25519 -C "${CURRENT_USER}@gitlab" -f ~/.ssh/id_ed25519 -N "" # 设置权限 chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub # 显示公钥 echo -e "\n2. 请将以下公钥添加到 GitLab:" echo "======================================" cat ~/.ssh/id_ed25519.pub echo "======================================" echo -e "\n3. 添加步骤:" echo " - 登录 GitLab: https://192.168.60.36" echo " - 点击头像 → Edit profile → SSH Keys" echo " - 粘贴上面的公钥内容" echo " - 点击 Add key" echo -e "\n4. 测试连接:" ssh -T git@192.168.60.36 echo -e "\n5. 克隆仓库命令:" echo " git clone git@192.168.60.36:Administrator/bztongyong.git" echo -e "\n6. 配置用户信息:" echo " git config user.name \"您的姓名\"" echo " git config user.email \"您的邮箱@company.com\""

八、管理员操作指南

添加团队成员到项目

# 在 GitLab 网页操作: # 1. 进入项目 → Settings → Members # 2. 输入用户名或邮箱 # 3. 选择权限级别 # 4. 点击 Add to project
设置分支保护规则
# 项目 → Settings → Repository → Protected Branches # 保护 main 分支,只允许 Maintainer 推送

九、总结

SSH Key 使用规则:
  • 每个用户一个密钥对,不是每个仓库

  • 一个密钥可以访问所有有权限的仓库

  • 管理员控制每个成员对每个仓库的访问权限

团队成员工作流程:

  1. 生成自己的 SSH 密钥对

  2. 将公钥添加到自己的 GitLab 账户

  3. 等待管理员将自己添加到项目成员

  4. 克隆仓库:git clone git@地址/项目.git

  5. 配置用户信息:git config user.name "姓名"

  6. 日常开发:拉取 → 修改 → 提交 → 推送

管理员工作流程:

  1. 创建项目

  2. 添加团队成员并设置权限

  3. 配置分支保护规则

  4. 管理 Merge Request

这样,团队中的每个成员都可以使用自己的 SSH Key 安全地拉取和提交代码

HTTPS+ Personal Access Token

方案B:使用 HTTPS + Personal Access Token(推荐)

步骤1:生成 Personal Access Token

  1. 登录 GitLab → 点击头像 →Edit profile

  2. 左侧菜单选择Access Tokens

  3. 填写信息:

    Token name: Git CLI Access Expiration date: 可选 Scopes: ✅ 勾选 api 和 read_repository
  4. 点击Create personal access token

  5. 复制生成的令牌(只显示一次!)

步骤2:使用 Token 克隆

# 克隆仓库 git clone https://192.168.60.36/Administrator/bztongyong.git # 认证信息: Username: 可以填任意值,比如 git Password: 粘贴您的 Token(如 glpat-xxxxxxxxxxxxxxxxxx)

步骤3:配置凭证存储(避免重复输入)

# 缓存凭证(15分钟) git config --global credential.helper cache # 永久存储凭证(保存到文件) git config --global credential.helper store # 或使用内存缓存 git config --global credential.helper 'cache --timeout=3600'

三、不同认证方式对比

认证方式

安全性

便利性

配置复杂度

推荐度

SSH 密钥

高(配置后免密)

中等

⭐⭐⭐⭐⭐

HTTPS + Token

中(需管理Token)

简单

⭐⭐⭐⭐

HTTPS + 密码

低(已弃用)

简单

❌ 不推荐

四、使用 Personal Access Token 的完整流程

1. 生成 Token

在 GitLab 中:

Settings → Access Tokens → 创建 Token 权限:api, read_repository, write_repository

2. 克隆仓库

git clone https://192.168.60.36/Administrator/bztongyong.git # 用户名:git # 密码:glpat-xxxxxxxxxxxxxxxxxx

3. 设置自动认证

# 方法1:在 URL 中嵌入 Token git clone https://gitlab-ci-token:glpat-xxxxxxxxxxxxxxxxxx@192.168.60.36/Administrator/bztongyong.git # 方法2:使用凭证助手 git config --global credential.helper store # 第一次输入后会自动保存

五、一键配置脚本

创建setup_https_auth.sh

#!/bin/bash echo "=== 配置 Git HTTPS 认证 ===" # 1. 修改远程地址为 HTTPS if [ -d ".git" ]; then echo "当前仓库已存在,修改远程地址为 HTTPS..." git remote set-url origin https://192.168.60.36/Administrator/bztongyong.git else echo "使用 HTTPS 克隆仓库..." git clone https://192.168.60.36/Administrator/bztongyong.git cd bztongyong fi # 2. 配置凭证存储 echo "配置凭证存储(缓存1小时)..." git config --global credential.helper 'cache --timeout=3600' # 3. 显示配置信息 echo -e "\n=== 配置完成 ===" echo "远程地址:" git remote -v echo -e "\n=== 使用说明 ===" echo "1. 第一次操作时会提示输入用户名和密码" echo "2. 用户名:git 或 Administrator" echo "3. 密码:使用 Personal Access Token(不是登录密码)" echo "4. Token 生成位置:GitLab → Settings → Access Tokens" echo "5. 需要勾选权限:api, read_repository" echo -e "\n=== 获取 Token 的步骤 ===" echo "1. 登录 GitLab (https://192.168.60.36)" echo "2. 点击右上角头像 → Edit profile" echo "3. 左侧菜单选择 Access Tokens" echo "4. 创建 Token,勾选所需权限" echo "5. 复制生成的 Token(只显示一次!)" echo -e "\n=== 测试连接 ===" read -p "是否现在测试拉取?(y/n): " test_pull if [[ $test_pull =~ ^[Yy]$ ]]; then git pull origin main fi

六、如果坚持使用 SSH 密钥认证

如果您想继续用 SSH 但遇到问题,可以尝试:

1. 验证您的密钥是否有效

# 测试密钥连接 ssh -vT git@192.168.60.36 2>&1 | grep -i "authenticat"

2. 检查 GitLab 是否接受您的密钥

# 查看公钥指纹 ssh-keygen -lf /root/.ssh/id_rsa.pub # 确保指纹与 GitLab 中显示的一致

3. 使用标准长度的密钥

# 生成标准的 RSA 2048 密钥 rm -f /root/.ssh/id_rsa* ssh-keygen -t rsa -b 2048 -C "git@192.168.60.36"

七、推荐的解决方案

对于生产环境部署:

# 使用 Personal Access Token 最稳定 git clone https://gitlab-ci-token:${GITLAB_TOKEN}@192.168.60.36/项目.git # 设置环境变量 export GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxx

对于个人开发:

# 使用 SSH 密钥更方便 ssh-keygen -t ed25519 -C "your-email@example.com" # 添加公钥到 GitLab

八、故障排除

问题:Token 认证失败

# 检查 Token 权限是否足够 # 需要至少 read_repository 权限 # 检查 Token 是否过期 # 重新生成 Token

问题:凭证不被保存

# 清除旧凭证 git credential reject protocol=https host=192.168.60.36 [按 Ctrl+D 结束] # 重新配置 git config --global credential.helper store

九、总结

"其他验证登录方式"主要指:

  1. HTTPS + Personal Access Token(推荐替代方案)

    • 在 GitLab 生成 Token

    • 克隆时使用 HTTPS 地址

    • 用户名填git,密码填 Token

  2. HTTPS + 密码(已弃用,不推荐)

  3. 🔧修正 SSH 密钥问题

    • 确保使用标准密钥长度(2048/4096)

    • 或使用 ED25519 密钥

最简单的操作步骤:

# 1. 在 GitLab 生成 Personal Access Token # 2. 使用 HTTPS 克隆 git clone https://192.168.60.36/Administrator/bztongyong.git # 3. 用户名:git # 4. 密码:粘贴 Token # 5. 配置凭证缓存 git config --global credential.helper cache
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 7:17:52

中小企业也能玩转AI数字人?Linly-Talker带来全新可能

中小企业也能玩转AI数字人?Linly-Talker带来全新可能 在电商直播间里,一个面容亲和的虚拟主播正用标准普通话介绍新款家电,语气自然、口型同步精准,甚至还能根据用户提问实时回应——这画面不再只属于科技巨头的演示视频。如今&am…

作者头像 李华
网站建设 2026/7/7 16:46:37

24、深入了解 Windows Server 2012 R2 的远程管理与配置

深入了解 Windows Server 2012 R2 的远程管理与配置 1. Windows PowerShell 本地使用 Windows PowerShell 并非只能远程使用,在本地配置 Windows Server 2012 R2 Server Core 安装时也可使用。 2. Windows 远程管理(WinRM) Windows 远程管理(WinRM)实用程序是 Microso…

作者头像 李华
网站建设 2026/7/7 8:10:15

前端接收了id字段,发送给后端就变了

前端初次请求用户信息,后端发送的用户 id 是长整型在数据库设计层面,长整型是最高效最节省空间的做法)。 {"id": 260561497745260544 // int8 }虽然 前端的 id 字段是用 string 接收到,但实际转换时,会先用…

作者头像 李华
网站建设 2026/7/7 9:23:56

Linly-Talker输出SRT字幕文件功能上线

Linly-Talker 输出 SRT 字幕文件功能上线 在数字人技术加速落地的今天,一个核心问题正被越来越多开发者和内容创作者关注:如何让虚拟角色不仅“能说会道”,还能“留下文字足迹”? 过去,大多数数字人系统止步于生成一…

作者头像 李华
网站建设 2026/7/7 9:15:13

Linly-Talker性能基准测试:主流GPU平台对比结果公布

Linly-Talker性能基准测试:主流GPU平台对比结果公布 在虚拟主播、AI客服和数字员工日益普及的今天,一个核心问题始终困扰着开发者:如何让数字人既“聪明”又“自然”,还能跑得快?过去,构建一套完整的数字人…

作者头像 李华
网站建设 2026/7/7 11:46:21

Langchain-Chatchat Memcached性能优化知识问答系统

Langchain-Chatchat 与 Memcached 构建高性能本地知识问答系统 在企业智能化转型的浪潮中,如何让员工快速获取内部知识,已成为提升协作效率的关键。传统的搜索方式依赖关键词匹配,面对“年假怎么休?”“报销流程是什么&#xff1f…

作者头像 李华