GitLab 代码基础操作清单

Docker部署配置Gitlab_docker gitlab-CSDN博客

一、前期准备

1. 配置 Git 全局身份(首次使用必须配置)

复制代码
# 设置用户名(与 GitLab 用户名可不同,用于标识提交者)
git config --global user.name "你的名称"  # 例:git config --global user.name "root"

# 设置邮箱(格式正确即可,无需真实邮箱)
git config --global user.email "你的邮箱"  # 例:git config --global user.email "root@localhost"

# 查看配置是否生效
git config --list

二、克隆远程项目(首次获取项目)

从 GitLab 克隆项目到本地,适用于本地无项目的场景。

1. 获取 GitLab 项目地址

  • 登录 GitLab 网页端 → 进入目标项目 → 点击右上角 "Clone" → 复制 HTTP 地址 (例:http://192.168.75.146/zhu-try-group/try-project.git)。

2. 克隆项目到本地

复制代码
# 克隆命令(将远程地址替换为你的项目地址)
git clone http://192.168.75.146/zhu-try-group/try-project.git

# 克隆后会自动创建与项目同名的文件夹(如 try-project),进入文件夹
cd try-project

3. 克隆指定分支(可选)

默认克隆 main 分支,如需克隆其他分支(如 dev):

复制代码
git clone -b dev http://192.168.75.146/zhu-try-group/try-project.git

三、提交本地修改到远程仓库

本地修改代码后,同步到 GitLab 远程仓库的完整流程。

1. 查看本地修改状态

复制代码
# 查看哪些文件被修改(工作区状态)
git status
# 详细查看修改内容(对比工作区与暂存区)
git diff  # 查看所有修改
git diff 文件名  # 查看指定文件修改(例:git diff try.py)

2. 将修改加入暂存区

复制代码
# 添加单个文件(推荐,精确控制)
git add 文件名  # 例:git add try.py

# 添加所有修改过的文件(谨慎使用,避免提交无关文件)
git add .

# 撤销暂存区的文件(若误添加)
git reset 文件名  # 例:git reset try.py

3. 提交暂存区到本地仓库

复制代码
git commit -m "提交说明"  # 说明需简洁明了,例:git commit -m "修复登录功能bug"

# 若提交后发现遗漏文件,可补充提交(无需新分支)
git add 遗漏的文件
git commit --amend  # 合并到上一次提交,避免多余记录

4. 推送本地提交到 GitLab 远程仓库

复制代码
# 推送当前分支到远程对应分支(首次推送需指定分支关联)
git push -u origin 分支名  # 例:git push -u origin main(-u 表示关联,后续可简化)

# 后续推送(已关联分支)
git push origin 分支名  # 例:git push origin main
推送时认证问题解决:
  • 提示输入用户名:输入 GitLab 登录用户名(如 root)。
  • 提示输入密码:推荐使用 个人访问令牌 (在 GitLab 网页端 Preferences → Access Tokens 生成,需勾选 write_repository 权限)。

四、拉取远程仓库代码到本地

同步 GitLab 远程最新代码到本地(适用于多人协作或远程有更新时)。

1. 拉取远程指定分支(推荐)

bash

复制代码
# 拉取远程 main 分支到本地当前分支并合并
git pull origin main  # 分支名需与远程一致

# 拉取其他分支(如 dev)
git pull origin dev

2. 拉取时冲突解决

若本地修改与远程更新冲突,会提示 Automatic merge failed

  1. 打开冲突文件,查找冲突标记: plaintext

    复制代码
    <<<<<<< HEAD          # 本地修改内容
    你的代码
    =======               # 分隔线
    远程更新的代码
    >>>>>>> origin/main   # 远程分支标识
  2. 编辑文件,保留需要的内容,删除冲突标记。

  3. 解决后提交:

    复制代码
    git add .  # 标记冲突已解决
    git commit -m "解决拉取冲突"

3. 强制拉取(谨慎使用)

若本地代码无需保留,强制覆盖为远程代码:

复制代码
git fetch --all  # 拉取所有远程分支信息
git reset --hard origin/main  # 强制将本地 main 分支重置为远程 main 分支

五、分支操作(进阶常用)

1. 查看分支

复制代码
git branch  # 查看本地分支(当前分支前有 * 标记)
git branch -r  # 查看远程分支
git branch -a  # 查看所有分支(本地+远程)

2. 创建并切换分支

复制代码
# 创建新分支(基于当前分支)
git branch 新分支名  # 例:git branch dev

# 创建并立即切换到新分支
git checkout -b 新分支名  # 例:git checkout -b dev

3. 切换分支

复制代码
git checkout 分支名  # 例:git checkout main

4. 推送本地新分支到远程

复制代码
git push -u origin 新分支名  # 例:git push -u origin dev(远程会创建同名分支)

5. 删除分支

复制代码
# 删除本地分支(需先切换到其他分支)
git branch -d 分支名  # 例:git branch -d dev

# 删除远程分支
git push origin --delete 分支名  # 例:git push origin --delete dev

六、其他实用命令

命令 作用
git log 查看提交历史(按 q 退出)
git log --oneline 简洁显示提交历史
git reset --hard 提交ID 回滚到指定提交版本(提交 ID 可从 git log 获取)
git rm 文件名 删除文件并加入暂存区(需提交后生效)
git stash 临时保存工作区修改(用于切换分支前)
git stash pop 恢复最近一次 stash 的修改

备注:

  • 所有命令需在项目目录下执行(先通过 cd 项目路径 进入)。
  • 涉及远程操作(克隆、拉取、推送)时,需确保网络正常且 GitLab 服务运行中。
  • 若忘记命令,可通过 git 命令 --help 查看帮助(例:git pull --help)。

七、gitlab密码的获取、修改、重置

一、普通用户:找回 / 重置密码(忘记密码时)

如果忘记密码,可通过 GitLab 登录页面的 "忘记密码" 功能重置:

  1. 打开 GitLab 登录页面(如 https://your-gitlab-domain.com)。
  2. 点击登录框下方的 "忘记密码?""Forgot your password?"
  3. 输入你的 注册邮箱用户名,点击 "发送重置链接"。
  4. 查收 GitLab 发送的邮件,点击邮件中的重置链接(通常 24 小时内有效)。
  5. 在跳转的页面中,设置新密码(注意密码强度要求,如长度、包含大小写字母等),确认后提交即可。

二、普通用户:主动修改密码(已知当前密码)

如果记得当前密码,可在个人设置中修改:

  1. 登录 GitLab 账号。
  2. 点击右上角的 头像 ,选择 "Preferences"(偏好设置)或 "个人设置"。
  3. 在左侧菜单中找到 "Password"(密码)选项。
  4. 输入 当前密码 ,然后设置并确认 新密码
  5. 点击 "Save password"(保存密码)完成修改。

三、管理员:重置其他用户的密码

如果是 GitLab 管理员,可通过后台直接重置其他用户的密码:

  1. 管理员登录 GitLab,进入 "Admin Area"(管理员区域,通常在头像下拉菜单中)。

  2. 在左侧菜单中选择 "Users"(用户),找到需要重置密码的用户。

  3. 点击该用户的 用户名 进入详情页。

  4. 点击页面中的 "Edit"(编辑)按钮。

  5. 在 "Password" 字段中直接输入新密码(无需知道旧密码),确认密码后点击 "Save changes"(保存修改)。

    注意:部分版本中,可能需要勾选 "Force password change on next login"(强制用户下次登录时修改密码),增强安全性。

四、特殊情况:通过命令行重置(适用于自托管 GitLab 服务器)

如果是自托管的 GitLab 服务器(如自己搭建的 GitLab),管理员可通过服务器命令行重置密码:

  1. 登录 GitLab 服务器的终端。

  2. 执行以下命令进入 GitLab Rails 控制台: bash

    复制代码
    sudo gitlab-rails console -e production
  3. 查找目标用户(通过邮箱或用户名): ruby

    复制代码
    user = User.find_by(email: 'user@example.com')  # 替换为用户邮箱
    # 或通过用户名查找:user = User.find_by(username: 'username')
  4. 重置密码(例如设置新密码为 NewPassword123!):

    ruby

    复制代码
    user.password = 'NewPassword123!'
    user.password_confirmation = 'NewPassword123!'  # 确认密码
    user.save!  # 保存修改(带!表示如果失败会报错)
  5. 退出控制台: ruby

    复制代码
    exit

注意事项

  • 密码通常有强度要求(如至少 8 位,包含字母、数字和特殊符号),具体以 GitLab 配置为准。
  • 如果账号是通过第三方登录(如 Google、LDAP、OAuth),可能需要在对应平台修改密码,而非 GitLab 直接修改。
  • 自托管 GitLab 可能因版本不同,界面或命令略有差异,建议参考对应版本的官方文档。
相关推荐
Costrict4 小时前
解锁新阵地!CoStrict 现已支持 JetBrains 系列 IDE
大数据·ide·人工智能·深度学习·自然语言处理·ai编程·visual studio
阿里云大数据AI技术4 小时前
云栖实录|阿里云 Milvus:AI 时代的专业级向量数据库
大数据·人工智能·搜索引擎
vivo互联网技术5 小时前
vivo HDFS EC 大规模落地实践
大数据·hdfs
QYResearch5 小时前
2025-2031年我国葡萄糖年产量和市场规模
大数据
QYResearch5 小时前
2025-2031年全球磷矿石市场规模和增长趋势
大数据
Hello.Reader6 小时前
Flink DataStream「全分区窗口处理」mapPartition / sortPartition / aggregate / reduce
大数据·python·flink
会飞的小蛮猪7 小时前
ELK运维之路(Logstash基础使用-7.17.24)
elasticsearch·自动化运维·logstash
soso(找工作版8 小时前
【阿里巴巴大数据之路】事实表设计
大数据
我星期八休息9 小时前
C++智能指针全面解析:原理、使用场景与最佳实践
java·大数据·开发语言·jvm·c++·人工智能·python