git命令记录

粗略记录一下git命令,后期使用过程中会逐渐完善这些命令

查看日志的炫酷命令

  • 原来的日志输入git log,如果日志太多可以输入q或者qw或者ctrl+c,我也记不住了,就是这几个命令就可以关闭日志输出了

git

1
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset%s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
  • 炫酷的效果
    git

开启git输出着色

1
git config --global color.ui true

设置显示中文文件名

1
git config --global core.quotepath false

修改git的编辑器

  • git默认的编辑器是vi,可以用下面代码修改编辑器为Vim,前提是本机有安装Vim
    1
    git config --global core.editor "vim"

diff

  • 查看代码的改动
    1
    2
    3
    git diff <$id1><$id2>#比较两次提交的差异
    git diff <branch1>..<branch2>#比较两个分支的差异
    git diff --staged#比较暂缓区与版本库的差异

checkout

  • 切换分支的作用

    1
    git checkout develop
  • 撤销的作用(把原文件还原)

    1
    git checkout a.md
  • 注:checkout命令只能撤销还没add进缓存区的文件

stash

  • 使用情景:当开发新功能时,突然有个紧急的Bug需要解决,但是还未commit,因为每一次commit我们都要有明确的意义,这时我们可以用如下办法:
  • 把当前分支所有没有commit的代码先暂缓起来

    1
    git stash
  • 此时输入git status你会发现当前分支很干净,因为暂时缓存起来了

  • git status list你会发现暂缓区有一天记录
  • 还原之前的代码git stash apply,你会发现之前的代码都还原回来了,紧接着你最好需要把缓存区的这次stash记录删除
  • 执行git stash drop即可删除最近的一条记录
  • 其实还有更方便的方法把git stash applygit stash drop一起执行了那就是git stash pop
  • 清空缓存区的记录git stash clear

分支合并merge&rebase

  • 将a分支合并到master分支

    1
    2
    git checkout master
    git merge a
  • merge和rebase的区别

    • merge比较暴力,内容不会重新排序,但是可以知道内容来源与哪个分支
    • rebase合并起来会重新排序,但是不知道内容来源与哪个分支
    • 各有好处,按使用习惯选择

人生精神领袖——stormzhang

小额支持我写出更好的文章~