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

七、一句话总结开发流程

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

相关推荐
ruan1145142 小时前
MySQL -- 个人学习记录
学习
red_redemption2 小时前
自由学习记录(161)
学习
南境十里·墨染春水2 小时前
linux学习进展 主函数的参数
linux·运维·学习
淮北4942 小时前
obsidian管理自己的计划
linux·学习·kanban·obsidian
南無忘码至尊2 小时前
Unity学习90天-第1天-认识Transform + 坐标系
学习·unity·游戏引擎
my_daling2 小时前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(1)
学习·fpga开发
嵌入式×边缘AI:打怪升级日志3 小时前
Makefile 完全学习笔记:从入门到通用模板解析
笔记·学习
ACGkaka_3 小时前
ES 学习(九)从文本到词元:分词器如何“拆解“你的数据
大数据·学习·elasticsearch
马优晨3 小时前
git restore --source 提交id 和 git reset --hard 提交id 有什么区别
git·git reset·git restore·git回退的区别·git回退代码