git 基础

主要概念:

  • 工作区: 平时改写文件的区域,可以理解为存放文件当前状态的区域。
  • 暂存区: 可以将工作区的文件添加到暂存区保存文件的改动准备提交到本地分支上。
  • 版本库(本地仓库):版本库存放着多条本地分支,贮藏等。位于 .git 文件夹里。
  • 远程仓库:区别于本地仓库,位于外部(服务器)的仓库。

新建本地仓库(初始化)

首先进入到项目的根目录,再进行初始化

1
2
$ cd myProject
$ git init

保存修改到暂存区

我们可以用 git add命令将文件添加到暂存区

1
$ git add demo.txt

提交到版本库

我们使用 git commit命令将暂存区提交到版本库

1
$ git commit -m "提交类型: 本次提交的简单说明"

提交规范

提交类型:

  • feat:新功能(feature)
  • fix:修补 bug
  • docs:文档(documentation)
  • style、UI : 样式修改(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)
  • pref: 优化相关,比如提高性能、体验
  • test:增加测试
  • chore:构建过程或辅助工具的变动

分支

创建分支

首先,我们创建 dev 分支,然后切换到 dev 分支:

1
$ git checkout -b dev

git checkout 命令加上-b 参数表示创建并切换,相当于以下两条命令:

1
2
$ git branch dev
$ git checkout dev

查看分支

用 git branch 命令查看当前分支:

1
2
3
$ git branch
* dev
master

git branch 命令会列出所有分支,当前分支前面会标一个*号。

切换分支

  1. checkout
    切换回 master 分支:
1
$ git checkout master
  1. switch (推荐使用)
    创建并切换到新的 dev 分支
1
$ git switch -c dev

直接切换到已有的 master 分支

1
$ git switch master

合并分支

  1. merge

git merge 命令用于合并指定分支到当前分支。

直接把 master 指向 dev 的当前提交

1
$ git merge dev
  1. rebase

git rebase 命令用于将当前分支将要变基的分支共同祖先 开始提取 当前分支的提交(commit),再将祖先指向 将要变基的分支

请只在自己的分支上使用,否则会对团队中的其他人造成麻烦。

例如将当前分支变基到 master

1
$ git rebase master

删除分支

删除 dev 分支:

1
$ git branch -d dev

如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除

(status)储藏

  • 储藏当前未提交的内容
1
$ git stash
  • 查看储藏列表
1
$ git stash list
  • 恢复储藏
    1.apply+drop
1
$ git stash apply

但是apply不会删除 stash 内容,需要drop

1
$ git stash drop

2.pop
恢复的同时把 stash 内容也删了

1
$ git stash pop

复制特定的提交到当前分支

1
$ git cherry-pick <commit>

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!