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

七、一句话总结开发流程

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

相关推荐
r_oo_ki_e_1 天前
Java Map 集合学习笔记
java·笔记·学习
笨鸟先飞的橘猫1 天前
skynet——sharetable学习
学习·skynet
liuyicenysabel1 天前
大模型学习笔记 · 第八篇 · 进阶:偏好对齐与多卡训练
人工智能·笔记·学习
Funing71 天前
FreeRTOS学习day1:Keil 工程配置与 FreeRTOS 链表机制理解
数据结构·学习·链表
心中有国也有家1 天前
使用 DevEco Studio 配置 Flutter 鸿蒙签名
学习·flutter·华为·harmonyos
灯澜忆梦1 天前
MySQL 完整学习路线
学习·mysql
霸道流氓气质1 天前
CodeBuddy中使用 MCP 工具将 XMind 思维导图转换为 Markdown —— 实操流程汇总
git·myeclipse·xmind
森林古猿11 天前
再论斜率优化
c++·学习·算法
心中有国也有家1 天前
鸿蒙Flutter开发环境从零搭建教程(Windows/macOS双平台·避坑版)
学习·flutter·华为·harmonyos
渣渣灰飞1 天前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第三节:ORDER BY + LIMIT(排序 + 分页)
数据库·学习·mysql