当前位置: 首页 > news >正文

GitLab 常用 Git 命令新手指南

gitlab在团队合作里面十分重要,下面是我在项目里遇到的最常用的git命令。

一、核心开发规范

在团队开发中,必须遵守以下原则:

1.禁止直接在 master 等公共分支开发
2.所有开发必须在个人分支完成
3.开发完成后通过 Merge Request 合并

这样可以避免代码冲突和污染主分支


二、日常开发常用命令

1. 获取代码

克隆仓库

git clone git@gitlab.com:username/project-name.git

指定分支克隆

git clone -b dev git@gitlab.com:username/project-name.git

拉取最新代码(自动合并)

git pull git pull origin master

推荐方式(更安全)

git fetch origin git merge origin/dev

2. 分支操作

创建并切换分支

git checkout -b feature/user-login

git switch -c feature/user-login

切换分支

git switch master

查看分支

git branch git branch -a

删除分支

git branch -d feature/user-login git push origin --delete feature/user-login

合并分支

git switch master git merge feature/user-login

3. 提交代码

查看状态

git status

查看改动

git diff git diff --cached

添加文件

git add 文件 git add 目录

提交代码

git commit -m "提交说明"

修改最近一次提交

git commit --amend -m "新的提交说明"

推送代码

git push -u origin 分支名

查看日志

git log --oneline git log --graph --oneline --all

4. 撤销操作

撤销未添加的修改

git restore 文件名

撤销已 add

git restore --staged 文件名

撤销提交

git reset --soft HEAD~1 git reset --hard HEAD~1

临时保存代码

git stash git stash pop

三、标准开发流程

这是日常开发最推荐的流程:

git clone git@gitlab.com:username/project-name.git cd project-name git checkout -b feature/xxx git status git add . git commit -m "功能说明" git push -u origin feature/xxx

然后在 GitLab 提交 Merge Request


四、日常同步主分支

为了避免冲突,需要经常同步主分支:

git switch master git pull origin master git switch feature/xxx git rebase master

五、rebase 冲突处理

当出现冲突时:

git add 冲突文件 git rebase --continue

放弃操作:

git rebase --abort

六、rebase 使用说明

作用:

1.同步主分支代码
2.保持提交历史整洁
3.减少无用 merge

整理提交记录:

git rebase -i HEAD~4

注意事项:

只在个人分支使用
不要在公共分支使用

rebase 后需要强制推送:

git push -f

七、一句话总结开发流程

创建分支 开发代码 提交代码 推送远程 提交合并请求

http://www.jsqmd.com/news/626216/

相关文章:

  • 2026临沂靠谱成人高考函授站名录:临沂大学成人高考/临沂学历提升/临沂成人高考/临沂成人高考专升本/临沂成人高考函授站/选择指南 - 优质品牌商家
  • Python-for-Android快速入门完整指南:轻松将Python应用转为Android APK
  • 别再只会用DS18B20了!用STM32+PT100搭建高精度测温系统,从电桥原理到代码实现的深度解析
  • JAVA找出哪个类import了不存在的类辣
  • 字符串字典序比较
  • VS2022智能提示汉化实战:从零到一的完整指南
  • 国产数据库认证之旅:从TiDB到OceanBase的实战心得与选型指南
  • 地理数据处理不再复杂:3分钟掌握Mapshaper核心技巧
  • ST7701和ST7701S区别
  • BouncyCastle SM2/SM3/SM4
  • Three.js 3D热力图实现全解析(从原理到实战)
  • LibBriandIDF:ESP32上生产就绪的C++17嵌入式工具库
  • OBS多路推流插件窗口消失?三步快速找回+终极预防指南
  • 嵌入式VGM音频库:轻量级芯片级音源仿真与实时播放
  • BMP183气压传感器驱动开发与嵌入式实战指南
  • 3种实用方法:使用MediaCreationTool.bat绕过Windows 11硬件限制完全指南
  • 别只用来聊天了!手把手教你用PyCharm+Continue+DeepSeek,把代码审查、生成测试、重构都自动化
  • i18n 2026.04.11
  • STM32WLE5CCU6实战:从官方例程到第三方模块的PingPong通信移植详解
  • 性能测试基准
  • 2026装修改造哪家正规:厨房翻新改造/商铺装修改造/墙面翻新改造/旧房翻新改造/精装房装修改造/老房翻新改造/选择指南 - 优质品牌商家
  • 安全智能:MongoDB EF Core 提供程序中的可查询加密和向量搜索铰
  • 【国家级AI安全合规指南】:基于GB/T 44503-2024标准的6层对齐验证体系实战拆解
  • 2026年轨道交通电力电缆生产厂家推荐:涵中低压、低压、中压等厂家(4月版) - 品牌2026
  • ESP8266轻量级Homie物联网框架封装库
  • 3分钟学会使用Balena Etcher:最安全的镜像烧录工具
  • 基于Java Web的商铺租赁管理系统:从需求分析到模块实现的实战指南
  • 数据标注进阶:解决Label-Studio工具中的UTF-8编码与跨列标注难题
  • 把近万个源文件喂给AI之前,我先做了一件事猛
  • A4988步进电机驱动库深度解析与裸机控制实践