常用git命令

0 阅读2分钟
操作命令
查看当前分支git branch(git branch -a 查看所有分支)
从仓库拉取分支git fetch origin 分支名
切换分支git checkout 分支名 (将当前分支的修改带过去 git checkout -b 分支名)
拉取最新分支git pull origin 分支名 (pull=fetch+merge)
删除未跟踪的和未添加到暂存区的文件和目录git clean -n 预览git clean -fd 删除
恢复修改的文件git restore 文件名
删除分支git branch -D 分支名 # 强制删除未合并分支-D
远程分支覆盖本地git reset --hard origin/master (覆盖修改的文件)
提交暂存区git add 文件名 (不建议用 git add .)
移出暂存区,保持修改git reset HEAD (移出所有)
git reset HEAD 文件名
查看提交状态git status
查看代码区别git diff --cached
git diff --no-index(比较两个未跟踪的文件)
git diff branch1:a.sh -- b.sh (比较分支中的a和本地b)
提交暂存代码git commit -m 'icafe-id icafe-name'
删除本地和暂存区文件git rm 文件
多次commitgit commit --amend
查看最近的commitgit log
查看特定的 commitgit show
撤回上一次commitgit reset HEAD~1 (包括add)
回退到合并前的状态git reset --hard ORIG_HEAD (慎用)
提交至远程仓库git push origin HEAD:refs/for/分支名

暂存本地代码 git stash

  • 作用:将本地修改暂时存储,以拉取线上代码(恢复到版本代码)
  • 临时开启新任务已有代码需要提交的情况
  • 与线上代码冲突,需要先拉取线上代码的情况

在终端中执行 git stash

  • 变更将会存储到本地(新建的文件除外)

image.png 恢复变更 git stash apply {编号}

image.png

常用git stash命令:

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{num} :丢弃stash@{num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash