美文网首页
git命令行总结,以及term3笔记

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

作者: 妙手金刚 | 来源:发表于2020-03-05 17:41 被阅读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 查看提交记录;

    相关文章

      网友评论

          本文标题:git命令行总结,以及term3笔记

          本文链接:https://www.haomeiwen.com/subject/itgqrhtx.html