Skip to content

Git 管理

导航目录

Git 分支命名规范

功能说明:规范化的分支命名有助于团队协作和代码管理,确保分支用途清晰可辨。

  • master:永远是可用的稳定版本
  • develop (dev):正在测试但未上线的版本
  • feature (feat) / xxx:功能和特性版本
  • hotfix (fix) / xxx:紧急的 Bug

Git commit 规范

功能说明:规范的 commit 信息有助于团队成员理解代码变更的历史和目的。

  • feat:新增 feature
  • fix:修复 bug
  • docs:仅仅修改了文档,如 readme.md
  • style:仅仅是对格式进行修改,如逗号、缩进、空格等。不改变代码逻辑。
  • refactor:代码重构,没有新增功能或修复 bug
  • perf:优化相关,如提升性能、用户体验等。
  • test:测试用例,包括单元测试、集成测试。
  • chore:改变构建流程、或者增加依赖库、工具等。
  • revert:版本回滚

Git 基本命令

功能说明:Git 基本命令是日常开发中最常用的命令,用于版本控制的基本操作。

基础操作

  • 添加暂存
    bash
    git add <>
  • 查看文件暂存状态
    bash
    git status -s
  • 提交代码(需要暂存):
    bash
    git commit -m "注释"
  • 直接提交(不需要暂存):
    bash
    git commit -am "注释"

远程操作

  • 上传本地文件到远程
    bash
    git push
  • 拉取远程到本地
    bash
    git pull
  • 本地分支上传到远程
    bash
    git push origin dev
  • 删除远程分支
    bash
    git push origin --delete dev

分支操作

  • 查看本地分支
    bash
    git branch
  • 删除本地分支
    bash
    git branch -D dev
  • 查看本地远程分支
    bash
    git branch -a
  • 创建新分支
    bash
    git branch feature/xxx
  • 切换分支
    bash
    git checkout feature/xxx
  • 更新拉取分支
    bash
    git fetch

查看操作

  • 查看提交记录
    bash
    git log -p -10
  • 查看未暂存的修改
    bash
    git diff
  • 查看已暂存但未提交的修改
    bash
    git diff --cached
  • 查看所有修改
    bash
    git diff HEAD

撤销操作

  • 取消暂存
    bash
    git reset HEAD src/xx/xx
  • 重置修改的文件
    bash
    git checkout src/xx/xx
  • 合并分支
    bash
    git merge hotfix
  • 版本回退
    bash
    git reset --hard commit-id
  • 回退最近 3 次提交
    bash
    git reset --hard HEAD~3

暂存操作

  • 拉取别人代码前暂存
    bash
    git stash
  • 释放暂存
    bash
    git stash pop

忽略文件

  • 忽略已经提交的文件
    bash
    git rm -r --cached components.d.ts

Git 版本回退

功能说明:当需要回退到之前的版本时,可以使用 Git 版本回退命令。

版本回退步骤

  1. 查看提交历史

    bash
    git log

    查看 commit id 和 commit message

  2. 回退到指定版本

    bash
    git reset --hard id

    根据 commit id 回退到指定的版本(退回这个版本,废除这次提交)

  3. 推送到远程仓库

    bash
    git push origin --force

    让远程仓库代码和你本地一样,到当前你本地的版本

如果突然发现不需要回退了,刚才那些消失的代码又要重新找回来,别担心,Git 强大着呢!

  1. 查看命令操作历史

    bash
    git reflog

    定义:查看命令操作的历史

  2. 恢复到之前的版本

    bash
    git reset --hard id

    查找到要的操作 id,使用 git reset --hard id 又回退到当初一模一样的版本

Git commit 后如何撤销

功能说明:当提交信息有误或需要重新提交时,可以使用撤销命令。

仅撤销 commit

  • 不删除工作空间修改过的代码,仅撤销 commit
    bash
    git reset --soft HEAD^

撤销 commit 和 add

  • 删除工作空间修改过的代码,撤销 commit 和 add
    bash
    git reset --hard HEAD^

Git 冲突后取消 merge

功能说明:当分支合并发生冲突且无法解决时,可以取消合并操作。

  • 取消 merge
    bash
    git merge --abort

    分支 merge 有冲突,取消 merge

git 取消记录合并

功能说明:当需要取消之前的合并操作时,可以使用 revert 或 reset 命令。

使用 git revert 撤销合并

  1. 查看提交历史

    bash
    git log

    查看 commit id 和 commit message

  2. 撤销合并

    bash
    git revert commitId

    使用 git revert 撤销合并

使用 git reset 取消合并

  1. 查看提交历史

    bash
    git log

    查看 commit id 和 commit message

  2. 取消合并

    bash
    git reset commitId

    使用 git reset 取消合并

查看当前分支是从哪个分支 checkout 出来的

功能说明:通过命令查看当前分支是从哪个分支创建或 checkout 出来的。

  • 查看分支来源
    bash
    git reflog show --date=local | grep 分支名称

    例如:checkout: moving from master to 16069,表示 16069 分支是从 master checkout 出来的

git 中 rebase 和 merge 的区别是什么

功能说明:rebase 和 merge 都是用于合并分支的命令,但它们的工作方式和使用场景有所不同。

  • 区别一:rebase 把当前的 commit 放到公共分支的最后面,merge 把当前的 commit 和公共分支合并在一起
  • 区别二:用 merge 命令解决完冲突后会产生一个 commit,而用 rebase 命令解决完冲突后不会产生额外的 commit

Git 分支 A 方案版

功能说明:分支 A 方案是一种常见的 Git 分支管理策略,通常包含 master、develop、feature 等分支。

eventLoop

Git 分支 B 方案版

功能说明:分支 B 方案是另一种 Git 分支管理策略,适用于不同团队的工作流程。

eventLoop