git命令行总结,以及term3笔记

2020-03-05  本文已影响0人  妙手金刚

红色代表add之前,绿色代表add之后

gcf    -> git config --global user.email "邮箱"。

git config --global user.name "名字"。

git config --list 显示Git的配置信息;

  gcl    -> git clone <repo> <dir> 拉取远程仓库,可以指定位置

gst    -> git status 显示修改的内容以及在缓存区的状态

gss    -> git status -s 只显示修改的文件

ga      -> git add <file> 添加到缓存区

gaa    -> git add .或--all 添加全部有改动的文件到缓存区

gd      -> git diff 查看尚未add的缓存内容

gdca    -> git diff --cached 查看已缓存的内容

-> gd head 查看head里的所有修改的内容

-> gd --stat 显示尚未缓存的文件

grh    -> git reset 撤销已缓存的文件

-> grh <file> 单独撤销文件

gcmsg  -> git commit -m "" 提交到本地库

gp      -> git push 推送到git远程仓库

gl      -> git pull 从远程仓库拉取

gup    -> git pull -rebase

  gstl    -> git stash list 拉取仓库前,缓存代码列表

gstp    -> git stash pop stash@{0} 载入此缓存,并移除

gstaa  -> git stash apply 载入此缓存

gstd    -> git stash drop 移除此缓存

gstc    -> git stash clear 清除缓存

gb      -> git branch <name> 创建分支

gco    -> git checkout 检出分支

gcm    -> git checkout master

gcd    -> git checkout develop

  gcb    -> git checkout -b <name> 创建并检出到此分支

gm      -> git merge <name> 合并此<name>到当前分支下

grb    -> git rebase <name> 把当前分支合并到此<name>下

gr      -> git remote 远程仓库

grv    -> git remote -v 远程仓库地址

gcp    -> git cherry-pick name

git层级:

第一层:未缓存,也即未add前,状态为:未缓存

第二层:暂存区,add后,commit前,状态为:已缓存;

第三层:本地仓库,commit后,push前,本地版本库,状态为:已提交;

第四层:远程仓库,push后,github云端刷新,状态为:已推送。

总结:只要没有push,本地可以随便玩。

一、Git提交的基本流程

(1)git config --global user.email "邮箱"。

git config --global user.name "名字"。

git config --list 显示Git的配置信息;

    简拼:gcf

(2)git clone <repo> <directory> 拉取远程仓库;

简拼:gcl

(3)git

显示内容在缓存区里的状态;

简拼:gst

    git status -s 只显示有改动的文件;

简拼:gss

(4)git add  <file> 添加单个文件;

简拼:ga

    git add .(--all) 缓存全部内容;

    简拼:gaa

(5)git diff 尚未add缓存的改动,add前应该先diff一下,看一下修改的缓存内容;

简拼:gd

    git diff --cached 查看已add的缓存的内容;

简拼:gdca

    git diff head 查看head里已缓存的与未缓存的所有改动;

简拼:gd head

    git diff --stat 显示尚未缓存的文件;

简拼:gd --stat

(6)git reset 取消全部add到缓存里的内容;

简拼:grh

    git reset <file>  取消此文件add到缓存里的内容;

    简拼:grh file

(7)git commit -m "注释" 提交到本地库;

    简拼:gcmsg

    git commit --amend 修改最后一次提交的内容,先add需要提交的文件。

简拼:无

(8)git push 提交到云端;

简拼:gp

(9)git rm <file> 删除文件,如果已经添加到add中,则需要加-f

    git rm --cached <file> 移除缓存区里的内容,暂时感觉与git reset head 没什么不同

git rm -r * 删除此目录下的内容

git mv <file> <file> 移动或者重命名

二、更新远程的方式:

第一种

(1)git stash 先将本地修改存储起来(后来居上),再拉取文件,

(2)拉取远程融合的两种方式:

git pull 拉取当前分支远程库中的内容==fetch merge;

简拼:gl

    git pull --rebase 拉取当前分支远程库中的内容==fetch rebase;

简拼:gup

(3)融合本地stash:

git stash list stash的列表;

简拼:gstl

    git stash pop stash@{0} 恢复编号里的本地内容,同时移除此编号;

简拼:gstp stash@{0}

    git stash apply stash@{0} 恢复编号里的本地内容,不移除此编号;

    简拼:gstaa

    git stash drop stash@{0} 删除此编号存储;

    简拼:gstd

    git stash clear 清空全部;

简拼:gstc

(4)gp提交完

第二种

1.把当前修改commit

    2.退回修改之前的节点

3.拉取远程最新节点

4.用rebase或者merge来合并自己的本地节点与远程节点

5.提交push

我用的:

(1)git  stash

(2)gl

(3)git stash pop stash@{0}

(4)gaa

(5)gcmsg

(6)gp

三、分支管理

(1)git branch name  创建分支;

    简拼:gb

    git branch -d name 删除本地分支;

简拼:gbd

    git push origin :name 删除远程分支,与-d配合,两步相继执行,删除远程;

简拼:gp origin :name

    git branch -f master HEAD~<num> 把master移动到从HEAD所在位置向上移动num步;

简拼:gb -f master HEAD~

    git branch -f master hash码-> 把master移动到hash码所在的位置;

简拼:gb -f -f master hash码

(2)git checkout name  切换分支;

简拼:gco

    特例:

alias gcm='git checkout master'

alias gcd='git checkout develop'

    git checkout -b name 创建并切换到此分支;

简拼:gcb

    git checkout name^ 从name的所在位置,向上移动一个提交记录,跟几个^,就向上移动几步;

git checkout name~<num> 从name的所在位置,向上移动num个提交记录。

git checkout HEAD~<num> 从HEAD的所在位置,向上移动num个提交记录。

以下两个待理解:

git checkout -b 分支origin/master 分支跟踪另一分支

git branch -u origin/master 分支

(3)git merge name  合并此<name>分支到当前所在分支下;

简拼:gm

    特例:

alias gmom='git merge origin/master'

(4)git rebase name  把当前分支合并到此<name>分支之下;

简拼:grb

    特例:

alias grbm='git rebase master'

alias grbd='git rebase develop'

    git rebase name1 name2 把<name2>合并到此<name1>分支之下;

    git rebase -i HEAD~2 交换提交记录的顺序;

简拼:grbi

四、撤销提交

git reset HEAD~1 本地撤销到上一步记录

简拼:grh

    git revert HEAD  远程撤销到上一步

简拼:无

五、远程库

git remote 查看远程库;

简拼:gr

    git remote -v 远程库的地址

简拼:grv

六、其他(重要)

git rebase -i HEAD~2 交换提交记录的顺序;

简拼:grbi

    git cherry-pick name 把指定记录移动到当前的记录之下;

简拼:gcp

    git tag "describe" master 为master设置tag;

简拼:

示例:

alias gts='git tag -s'

alias gtv='git tag | sort -V'

    git describe master 对master的描述;

git log -num 查看提交记录;

上一篇下一篇

猜你喜欢

热点阅读