首页 > 其他分享 >Reviewbot 开源 | 有些 git commit 记录真的不敢恭维, 我推荐每位工程师都常用 git rebase 和 git commit --amend

Reviewbot 开源 | 有些 git commit 记录真的不敢恭维, 我推荐每位工程师都常用 git rebase 和 git commit --amend

时间:2024-11-18 10:19:40浏览次数:1  
标签:git 记录 -- rebase feature commit Reviewbot


Reviewbot 是七牛云开源的一个项目,旨在提供一个自托管的代码审查服务, 方便做 code review/静态检查, 以及自定义工程规范的落地。


在日常的编程协作中,Git commit 记录的质量往往反映了一个工程师的工程素养。然而,我经常能看到一些不太规范的 commit 记录。有时,真的不敢恭维。

比如这种:

这种大概率是提交 commit 之后,又有变动,就随手重新复用上一条 git commit 命令了。

这种记录如果出现在个人仓库,可能还好. 但如果是多人协作的仓库,就有点不专业了。

在我看来,这些 commit 记录完全没必要,是非常不好的习惯,完全可以避免。

好在 Git 为我们提供了优雅的解决方案。如果没必要生成新的 commit,那直接使用 git commit --amend 就可以避免。

少用 git merge 多用 git rebase

比如这种:

Merge branch 'feature-A' of https://github.com/qiniu/reviewbot into feature-B

说的是把远程分支 feature-A 的代码合并到 feature-B 里。这里的 feature-A 通常是主分支。

这种 Commit 信息如果出现在你的 PR 里,那是完全没必要。PR 里的 commit 信息应当仅包含针对本次改动的有用信息。

我个人日常几乎不使用 git merge,即使是为了同步远程分支,我一般都会使用 git rebase

比如:

git rebase 除了上述好处外,还可以保持主仓库的 commit history 非常干净。所以强烈推荐大家使用。

Reviewbot 的 git commit check

为了更好的规范上述两种行为,Reviewbot 也添加了 git commit check 能力,就是用来检查 git commit 记录是否符合规范的。

如果不符合规范,Reviewbot 就会提示你:

更多 git flow 使用规范和技巧

当然 git 操作其实有很多实用技巧,建议大家有兴趣的话可以去研究下。我在 1024 实训营的时候,有给同学们做个相关分享:

超实用! 从使用视角的 Git 协作实战,告别死记硬背

文档里面有视频链接,感兴趣的同学可以去看下。

最后,作为专业的工程师,我们应该始终追求卓越的工程实践。良好的 commit 记录不仅体现了个人的专业素养,更是提升团队协作效率的重要基石。

通过合理使用 git rebase 和 git commit --amend,我们可以维护一个更清晰、更专业的代码提交历史。这不仅让代码审查变得更加轻松,也为后续的代码维护和问题追踪带来极大便利。

你觉得呢?

标签:git,记录,--,rebase,feature,commit,Reviewbot
From: https://www.cnblogs.com/jinsdu/p/18551867

相关文章

  • 【tokenization分词】WordPiece, Byte-Pair Encoding(BPE), Byte-level BPE(BBPE)的原
    目录前言1、word(词粒度)2、char(字符粒度)3、subword(子词粒度)WordPieceByte-PairEncoding(BPE)Byte-levelBPE(BBPE)总结前言Tokenization(分词)在自然语言处理(NLP)的任务中是最基本的一步,将文本处理成一串tokens用于后续的处理,把文本处理成token有一系列的......
  • 深入探索MySQL多表查询:连接查询与子查询的艺术
    深入探索MySQL多表查询:连接查询与子查询的艺术在数据库操作中,多表查询是一项常见且重要的任务。无论是为了获取更全面的数据,还是为了实现复杂的业务逻辑,多表查询都是不可或缺的工具。MySQL提供了两种主要的多表查询方式:连接查询和子查询。本文将深入探讨这两种查询方式的规律、优......
  • C#(asp.net)文达投稿系统-毕业设计源码69552
    摘 要本论文基于C#(ASP.NET)平台,设计与实现了一个名为文达的投稿系统。该系统旨在提供一个方便、高效的投稿平台,使作者能够轻松提交和管理文章,并帮助编辑和评审人员进行有效的稿件处理。在系统设计方面,我们采用了三层架构模式,包括表示层、业务逻辑层和数据访问层。表示层......
  • 上海AI Lab Mono-InternVL环境搭建&推理测试
    ​引子        原生多模态大模型性能瓶颈,迎来新突破!上海AILab代季峰老师团队,提出了全新的原生多模态大模型Mono-InternVL。与非原生模型相比,该模型首个单词延迟最多降低67%,在多个评测数据集上均达到了SOTA水准。OK,那就让我们开始吧。一、模型介绍        将......
  • LLM的不同精度详解和显存占用,FP16,FP32,BF16
    目录前言1、FP162、BF163、FP324、不同精度的显存占用5、不同精度之间的转换总结前言本文主要介绍LLM的三种不同精度FP16,FP32,BF16的概念和计算,并用pytorch进行演示;不同精度下的显存占用,以及不同精度的相互转换。1、FP16FP16也叫 float16,全称是Half-precisionflo......
  • langchain long term memory
    Messagehistorieshttps://python.langchain.com/docs/integrations/memory/众多数据库支持。 redis数据库https://www.cnblogs.com/mangod/p/18243321fromlangchain_community.chat_message_historiesimportRedisChatMessageHistoryfromlangchain_core.promptsimpo......
  • 护栏防撞报警装置全解析:组成、原理、应用与优势
            护栏防撞报警装置是一种能够在护栏受到撞击时及时发出警报信号的设备,以下为你详细介绍:        一、主要组成部分        1.传感器:这是护栏防撞报警装置的核心部件之一,负责检测护栏是否受到撞击。常见的传感器类型有倾角传感器、振动传感器......
  • Permission denied (publickey). fatal: Could not read from remote repository.
    将本地代码推送到远程分支报错:Permissiondenied(publickey).fatal:Couldnotreadfromremoterepository.确保已经添加了正确的 SSH密钥。可以使用以下命令检查SSH密钥是否已经添加:[email protected]如果看到消息“Hi[username]!You'vesuccessfullyauthen......
  • 面试官:说一下API网关的作用?企业如何应用API网关?
    一、API网关的用处API网关我的分析中会用到以下三种场景。1、OpenAPI企业需要将自身数据、能力等作为开发平台向外开放,通常会以rest的方式向外提供。最好的例子就是淘宝开放平台、腾讯公司的QQ开发平台、微信开放平台。OpenAPI开放平台必然涉及到客户应用的接入、API权限......
  • python内置 any 与 all
    any在Python中,any是一个内置函数,用于判断可迭代对象(如列表、元组、集合等)中是否至少有一个元素为True。它返回一个布尔值。语法:any(iterable)参数:iterable:任何可迭代对象,例如列表、元组、集合、生成器等。返回值:True:如果iterable中至少有一个元素为真。False:如......