git diff(主要的作用是查看你对文件进行了哪些修改 )
首先我先在test 重新写 hello
运行 git diff 之后可以看到 hello world3变成了 hello
将test 文件添加到暂存区 之后运行
所以git diff 只会看见 未添加到暂存区的
如果想查看暂存区的文件内容的修改 git diff --staged可以看把 text 添加到暂存区了
hello world3变成了 hello
git diff 可以查看你对所有文件进行了哪些修改
往test3 写入 hello world 4
往test11 写入 hello world 5
使用git status 查看状态 test11 test3 显示未加入暂存区
使用git diff 之后看到 test11里面的内容修改成了 hello world5
test3里面的内容修改成了 hello world4
使用git add -A 提交到暂存区 之后 git commit 提交到本地仓库之后 git push 添加到远程仓库
因为已经提交了所以 用 git status 和 git diff git diff --staged都已经查看不到了
git commit message
git commit -m '每次提交时在这个地方编辑的内容'
commit message 的好处
- 提供更多可查询的信息,用于排查问题
使用git log --pretty=oneline 可以查看信息 能够清除的看到 XXX修改了XXX文件
- 过滤重要的内容
使用git log --pretty=oneline | findstr ref 可以查询到以ref开头的提交记录给过滤出来
- 生成changelog
标准的commit message 包括Header,Body,Footer三个部分
正常只使用Header部分
Header一共三个部分
type (scope): subject
type 有以下几种常用的类型
- feat:新功能 (比如增加一个新模块)
- fix:修复bug(比如说这次bug提交一次记录)
- style:格式(只是代码格式)
- refactor:代码重构(进行代码优化)
- chore:项目构建(准备上线,准备进行新版本了)
scope:代表的模块,可以以自己的模块的名进行命名
subject:一些描述信息
例如 : 首先把test信息覆盖成 test
使用 git status 查看文件状态显示未提交
用 git add -A 把内容添加到暂存区内
使用 git commit message 进行提交
对message内容进行解析:
'修复bug使用的是fix[我负责的模块名叫stickOut]:我想要表述的信息是:修复文件上传的bug
git commit -m 'fix[stockOut]:修改文件上传的bug'
使用 git log 查看日志
git cz
CZ" 通常指的是 Commitizen 工具,它是一个用于规范化和生成符合约定的提交消息的工具。Commitizen 旨在帮助团队成员编写更一致、更易于理解的提交消息,以便更轻松地生成 changelog(变更日志)。
全局安装commitizen(帮我们完善提交信息的工具)
全局安装 npm install -g commitizen
设置支持angular格式的Commit message
commitizen init cz-conventional-changelog --save-exact
用cz生成便于changelog的工具
git cz 就可以替换git commit 可以让你选择type
选择scope
选择 subject
提交成功