Skip to content

常用 git 命令集合

git stash

git stash 会将当前未提交的修改(包括暂存和非暂存)都保存起来, 用于后续恢复当前工作目录。

该命令可以在很多场景下用到:

  1. 比如,开发时忘记创建新的分支,直接在 master 分支上开发了一大堆内容。突然想起来要检出一个新的分支。。。怎么办?把当前修改的文件复制一份,再把 master 分支恢复原样?这样做好慢呀。这时,就可以用到 git stash 命令了

git stash

git stash 会将当前未提交的修改(包括暂存和非暂存)都保存起来, 用于后续恢复当前工作目录。这样,当前的工作目录就干净了

PS:stash 是本地的,不会通过 git push 上传到远端

实际应用中可以给每一个 stash 添加一个 message, 用于记录版本,使用 git stash save 取代 git stash 命令

git stash pop

可以通过该命令恢复之前缓存的工作目录,也就是之前修改的文件。该命令会将缓存堆栈中的第一个 stash 删除,并将对应修改应用到当前工作目录

也可以使用 git stash apply 命令,将缓存堆栈中的 stash 多次应用到工作目录中,但并不删除 stash 拷贝

从远程仓库拉取某一个指定的分支

平时在做项目时,经常需要拉取远程仓库中的某个指定分支。有三种方式可以实现这一目标

git clone -b 分支名

该命令可以将远程仓库中的某一分支拉取到本地,且本地分支和远程分支同名

该命令并没有将远程仓库 clone 下来,而是直接进入到了分支所在的目录拉取代码

git fetch

使用 git fetch 命令时,需要先将远程的仓库克隆到本地,然后在执行git fetch 命令。该命令执行完以后还是处在 master 主分支的,如果进去目录没有发现想要拉取的仓库文件。此时并不是 git fetch 命令没有执行,而是我们还没有切换到我们想要拉取的分支上,需要我们执行 git checkout 命令切换到我们想要拉取的分支上。

  1. 拉取整个远程代码库 git clone url

  2. cd 目录

  3. 执行git fetch命令,将远程仓库的所有分支拷贝到本地仓库 git fetch

  4. 执行 git checkout <分支名称> 命令,切换到我们想要拉取的指定某一个分支的本地分支

git checkout

git checkout 命令可以用于签出分支,不仅作用于本地分支,远程分支也可以生效

有如下两种方法:

第一种:

  1. git fetch -all
  2. git checkout 远程分支名

第二种:

  1. git checkout -b 创建的本地分支名 origin/远程分支名

删除分支

删除本地分支

git branch -d local_branch-name

删除远程分支

git

git merge

分支合并需要两步,例如,想要将 A 分支合并到 B 分支

  1. 进入目标分支 B

  2. git merge A

git branch

git branch -a

git branch -a 可以查看远程分支

远程分支用红色字体展示

本地分支用白色字体展示