「2023 最新」 Github、Gitlab Git 工作流「常用」 git 命令、规范以及操作总结 Rebase

Gitcommit规范包括feat、fix、refactor等提交类型。Git使用SHA-1散列计算文件校验和,并通过gitstatus检查文件状态。工作区、暂存区、本地仓库和远程仓库构成Git的工作流程。常用命令如gitinit、gitclone、gitcheckout、gitmerge和gitrebase,后者用于整合历史记录,可能产生冲突。多人协作时,gitfetch和gitrebase用于同步远程代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git commit 规范

关于提交信息的格式,可以遵循以下的规则:

  • feat: 新特性,添加功能
  • fix: 修改 bug
  • refactor: 代码重构
  • docs: 文档修改
  • style: 代码格式修改
  • test: 测试用例修改
  • chore: 其他修改, 比如构建流程, 依赖管理

Git 基础知识

当我们通过git init创建或者git clone一个项目的时候,项目目录会隐藏一个.git子目录,其作用是用来跟踪管理版本库的

Git 中所有数据在存储前都计算校验和,然后以校验和来引用,所以在我们修改或者删除文件的时候,git能够知道

Git用以计算校验和的机制叫做 SHA-1 散列(hash,哈希), 这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来,如下:

24b9da6552252987aa493b52f8696cd6d3b00373

当我们修改文件的时候,git就会修改文件的状态,可以通过git status进行查询,状态情况如下:

  • 已修改(modified):表示修改了文件,但还没保存到数据库中。
  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  • 已提交(committed):表示数据已经安全的保存在本地数据库中。

文件状态对应的,不同状态的文件在Git中处于不同的工作区域,主要分成了四部分:

  • 工作区:相当于本地写代码的区域,如 git clone 一个项目到本地,相当于本地克隆了远程仓库项目的一个副本
  • 暂存区:暂存区是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中
  • 本地仓库:提交更新,找到暂存区域的文件,将快照永久性存储到 Git 本地仓库
  • 远程仓库:远程的仓库,如 github

在这里插入图片描述


Git 常用指令

一个git项目的初始有两个途径,分别是:

  • git init [project-name]:创建或在当前目录初始化一个git代码库
  • git clone url:下载一个项目和它的整个代码历史

项目初始化后常用命令

  • git checkout master//到达master分支
  • git pull origin master//将远程主机 origin 的 master 分支拉取过来
  • git branch//查看分支
  • git branch -D xxxxx//本地删除分支(注:先切换至其他分支再删除)
  • git push --delete //删除远程分支
  • git checkout -b xxxx//创建新的分支,直接切到分支下
  • git switch -c xxxx//创建新的分支xx并切换到分支下
  • git checkout -b xxxx origin/已有分支名//根据已有分支创建新的分支「或者点击 VScode 左下角从 … 创建分支」

多人同时协作拉代码常用命令

  • git remote -v //查看远程仓库
  • git remote remove xxx //删除远程仓库的关联,xxx:origin
  • git remote add origin [url] //创建远程仓库关联,origin是命名可修改
  • git remote add upstream [url]//创建远程仓库关联,upstream 是命名可修改,做不同的关联仓库(一般需要同时关联自己的和上游仓库)
  • git fetch upstream //将远程主仓库(upstream)所有的分支fetch下来,拉主仓库远程代码
  • git rebase upstream/master //合并远程主仓库的master分支
  • git rebase --continue //冲突解决完之后继续执行
  • git rebase --abort //当出现问题时,取消本次合并
  • git stash //暂存更改到本地(新建文件先git add .)
  • git stash pop//取分支上的更改
  • Yarn lint //当报格式化错误时执行,根据报错信息进入文件格式化

问题

  1. git merge 和 git rebase 区别
  1. git rebase 冲突
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zoe_ya

如果你成功申请,可以打赏杯奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值