Git
Git 常用命令
基础操作
git init # 初始化一个仓库
git clone # 克隆远程仓库
git add # 添加文件到暂存区
git commit # 提交暂存区的修改
git push # 推送本地仓库的修改到远程
git pull # 从远程仓库拉取并合并最新代码
分支管理
git branch # 查看和创建分支
git checkout # 切换分支
git merge # 合并分支
git rebase # 变基操作
版本回退与日志
git log # 查看提交历史
git diff # 查看文件差异
git reset # 撤回到某个提交点
git revert # 回退某次提交
远程仓库
git remote # 管理远程仓库
git fetch # 获取远程仓库的更新
协作
# 创建 Pull Request
图解
那些遇到的问题
提交信息不符合 commitlint
规定的格式。具体如下:
- subject may not be empty [subject-empty]:提交信息的主题(即第一行)不能为空。
- type may not be empty [type-empty]:提交信息的类型(如
feat
、fix
等)不能为空。
解决方法
为了顺利提交代码,您需要按照约定格式书写提交信息。以下是如何撰写有效的提交信息的步骤:
1. 确定提交类型
常用的提交类型有:
- feat:表示新增特性
- fix:表示修复问题
- docs:表示文档变更
- style:表示格式(不影响代码运行的变动)
- refactor:表示重构(既不是新增功能,也不是修复 bug)
- test:增加测试
- chore:其他变动(不涉及源代码的更改)
2. 撰写提交信息
提交信息应该遵循以下格式:
<type>(<scope>): <subject>
- type: 提交类型
- scope: (可选)影响的模块
- subject: 简短的描述
示例提交信息
以下是几个符合规范的示例:
-
新增特性
feat(todo): add todo list component
-
修复错误
fix(todo): resolve loading issue for todo items
-
更新文档
docs(readme): update installation instructions
提交步骤
-
修改提交信息:
在 Git 命令行中,您可以使用以下命令来修改最后一次提交的信息(如果已经尝试过提交):git commit --amend
-
根据以上格式输入新的提交信息,然后保存并退出编辑器。
-
如果是新的提交,可以直接执行:
git commit -m "feat(todo): add todo list component"
-
完成后再次尝试提交,确保没有报错。
注意事项
- 确保提交信息的类型和主题都填写完整。
- 如果您不确定具体的类型,可以参考项目的贡献指南(通常在
CONTRIBUTING.md
或项目文档中)。
真实项目中的Git分支流程
假设项目经理给你分配了一个功能的开发任务:
git checkout -b fenzhi-1 # 创建 A 分支
git add . # 提交代码
git commit -m "feat: add fenzhi-1 component" # 编写提交信息
git push --set-upstream origin fenzhi-1 # 推送 A 分支到远程
项目经理又给你派发了一个B功能的开发:
git checkout master # 切换到主分支
git checkout -b fenzhi-2 # 创建 B 分支
git add . # 提交代码
git commit -m "feat: add fenzhi-2 component" # 编写提交信息
git push --set-upstream origin fenzhi-2 # 推送 B 分支到远程
功能开发完成后,准备开发版流程:
git checkout master # 切换到主分支
git checkout -b release # 创建发版分支
git merge origin/fenzhi-1 # 合并 A 分支到 release
git merge origin/fenzhi-2 # 合并 B 分支到 release
git push --set-upstream origin release # 推送 release 分支到远程
接下来,可以回到 GitHub,选择 release
分支并创建一个 Pull Request (PR),通过 PR 合并代码。
合并成功。
本文链接:
/archives/git
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
ruiling!
喜欢就支持一下吧