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

图解

image-eiru.png

那些遇到的问题

提交信息不符合 commitlint 规定的格式。具体如下:

  1. subject may not be empty [subject-empty]:提交信息的主题(即第一行)不能为空。
  2. type may not be empty [type-empty]:提交信息的类型(如 featfix 等)不能为空。

解决方法

为了顺利提交代码,您需要按照约定格式书写提交信息。以下是如何撰写有效的提交信息的步骤:

1. 确定提交类型

常用的提交类型有:

  • feat:表示新增特性
  • fix:表示修复问题
  • docs:表示文档变更
  • style:表示格式(不影响代码运行的变动)
  • refactor:表示重构(既不是新增功能,也不是修复 bug)
  • test:增加测试
  • chore:其他变动(不涉及源代码的更改)

2. 撰写提交信息

提交信息应该遵循以下格式:

<type>(<scope>): <subject>
  • type: 提交类型
  • scope: (可选)影响的模块
  • subject: 简短的描述

示例提交信息

以下是几个符合规范的示例:

  1. 新增特性

    feat(todo): add todo list component
    
  2. 修复错误

    fix(todo): resolve loading issue for todo items
    
  3. 更新文档

    docs(readme): update installation instructions
    

提交步骤

  1. 修改提交信息:
    在 Git 命令行中,您可以使用以下命令来修改最后一次提交的信息(如果已经尝试过提交):

    git commit --amend
    
  2. 根据以上格式输入新的提交信息,然后保存并退出编辑器。

  3. 如果是新的提交,可以直接执行:

    git commit -m "feat(todo): add todo list component"
    
  4. 完成后再次尝试提交,确保没有报错。

注意事项

  • 确保提交信息的类型和主题都填写完整。
  • 如果您不确定具体的类型,可以参考项目的贡献指南(通常在 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 分支到远程

图片-nfjn.png

图片-hhql.png

接下来,可以回到 GitHub,选择 release分支并创建一个 Pull Request (PR),通过 PR 合并代码。

图片-tnow.png

图片-qbot.png

图片-pahu.png

图片-qqjf.png

合并成功。

文章作者: ruiling
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ruiling
计算机 git
喜欢就支持一下吧