删除内容时的语义提交类型
Semantic commit type when remove something
当我删除一个功能时,使用哪种语义提交类型更好:feat
、refactor
或其他?
你应该使用 refactor
,
- 壮举:向代码库引入新功能
- 修复:修补代码库中的错误
- 重构:既不修复错误也不添加功能的代码更改
使用refactor
,因为你重构了你的代码。有一个关于Git Commit Msg的参考给你
根据定义,它是 refactor
,因为:
refactor: A code change that neither fixes a bug nor adds a feature
删除功能当然是代码更改,
它既不修复错误也不添加功能。
但是,人们通常假设重构 不会引入重大更改 。并且删除功能 往往总是破坏 API,因为从 API 中删除了一个功能,这会破坏所有现有的系统,具体取决于该功能。
其他类型呢?缺少特征本身可以被认为是特征。例如,如果有人不喜欢密码登录的想法(每次登录都要输入密码很烦人),那么他们可能会认为没有密码登录的特性是一个特性。因此,删除一个特征可以被认为是添加一个新特征。同时,如果缺少一个特性本身可以被认为是一个特性,那么该特性的存在就可以被认为是一个错误。因此,删除一个功能可能被认为是修复了一个错误。因此删除一个特征既是 feat
又是 fix
.
或者,我们可以假装问题不存在。一个设计良好的库不应该有不需要的特性。由于其他库和应用程序可能依赖于此功能,因此永远不应删除这些功能。但这个理想原则并不适用于每个图书馆。
所以我的建议是给这种类型的提交一个新的名字。
Exclamation marks 可用于表示重大更改。删除功能是一项重大更改。因此,有 refactor!
:
refactor!: a BREAKING CHANGE that neither fixes a bug nor adds a feature
当我删除一个功能时,使用哪种语义提交类型更好:feat
、refactor
或其他?
你应该使用 refactor
,
- 壮举:向代码库引入新功能
- 修复:修补代码库中的错误
- 重构:既不修复错误也不添加功能的代码更改
使用refactor
,因为你重构了你的代码。有一个关于Git Commit Msg的参考给你
根据定义,它是 refactor
,因为:
refactor: A code change that neither fixes a bug nor adds a feature
删除功能当然是代码更改, 它既不修复错误也不添加功能。
但是,人们通常假设重构 不会引入重大更改 。并且删除功能 往往总是破坏 API,因为从 API 中删除了一个功能,这会破坏所有现有的系统,具体取决于该功能。
其他类型呢?缺少特征本身可以被认为是特征。例如,如果有人不喜欢密码登录的想法(每次登录都要输入密码很烦人),那么他们可能会认为没有密码登录的特性是一个特性。因此,删除一个特征可以被认为是添加一个新特征。同时,如果缺少一个特性本身可以被认为是一个特性,那么该特性的存在就可以被认为是一个错误。因此,删除一个功能可能被认为是修复了一个错误。因此删除一个特征既是 feat
又是 fix
.
或者,我们可以假装问题不存在。一个设计良好的库不应该有不需要的特性。由于其他库和应用程序可能依赖于此功能,因此永远不应删除这些功能。但这个理想原则并不适用于每个图书馆。
所以我的建议是给这种类型的提交一个新的名字。
Exclamation marks 可用于表示重大更改。删除功能是一项重大更改。因此,有 refactor!
:
refactor!: a BREAKING CHANGE that neither fixes a bug nor adds a feature