Git常用命令速查表
- 全局配置用户名字和邮箱
- 查看不同作用域的配置信息
- 在已存在的项目初始化仓库
- 新建项目并初始化仓库
- 查看git状态
- 提交某个文件的修改
- 提交已经跟踪的所有修改
- 提交所有修改
- 颗粒化提交修改
- 提交修改到仓库
- 直接提交所有的已跟踪的修改到仓库
- 修改上一次提交
- 查看工作区和暂存区之间的区别
- 查看某个文件工作区和暂存区之间的区别
- 用于查看暂存区和上一个提交之间的区别
- 用于展示工作区和上一次提交之间的区别
- 用于展示两个提交之间的区别
- 用于查看所有的提交
- 用于查看最近n次提交
- 用于展示每次提交log以及每次的改动
- 用于展示每次提交log以及每次的改动的简要统计
- 用于展示一行简略信息
- 用简单图形展示
- 用于展示上一个提交的修改
- 用于展示特定提交的修改
- 用于展示特定提交的修改的文件名
- 打印最近操作所对应的commit id
- 从工作区删除文件,并且从仓库中移除对某个文件的跟踪
- 只移除对该文件的跟踪,但是依旧在工作区保留文件
- 安全重命名
- 删除未跟踪并且未被.gitignore忽略的文件
- 查看哪些文件将会被删除,但是不会真正删除
- 撤销工作区某个文件修改
- 撤销所有文件
- 恢复某个commit的指定文件到暂存区和工作区
- 撤销当前暂存区的修改
- 版本回退
- 只移动仓库中HEAD指针的位置,工作区和暂存区的修改都不变
- 移动HEAD指针的位置,并使用回退的到版本重置暂存区,工作区的修改保持不变
- 移动HEAD指针位置,并使用回退的到版本重置工作区和暂存区,保持与指定的提交一致
- 重置修改
- 新建一个提交重置目标提交
- 重置目标提交,但是不会新建提交,而是修改工作区和暂存区
- 重置多个提交(不包括start-id,但是包括end-id)
- 在revert遇到冲突并解决冲突后,继续执行撤销操作
- 终止revert,但保留当前的结果
- 撤销revert
- 列出本地所有分支
- 列出所有远程分支(后文会讲解什么是远程分支)
- 列出所有本地和远程分支
- 查看分支的详细信息
- 新建分支
- 新建分支并切换分支
- 切换分支
- 切换到上一个分支
- 删除分支(针对已经合并过的分支)
- 删除分支(不管是否合并)
- 合并分支
- 不使用fast-forward模式合并
- 挑选一个commit合并到当前分支
- 挑选指定分支的最新提交
- 挑选连续多个提交(左开右闭,不包括start-commit)
- 在解决冲突后,继续执行下一个cherry-pick
- 退出操作,保留当前进度
- 撤销本次操作
- 查看所有tag
- 筛选相应的tag
- 查看某个commit上所有的tag
- 查看某一个tag
- 查看所有tag以及它们分别对应的commit
- 新建tag
- 在指定的提交新建tag
- 添加一个tag和message
- 删除tag
- 新建stash
- 指定你想要的messge信息
- 将未跟踪的文件也加入暂存
- 将所有文件加入暂存(即使该文件被git忽略)
- 查看暂存的历史
- 查看某一个次特定的暂存
- 取出最近的暂存
- 取出目标暂存
- 取出最近暂存,并删除该暂存的记录
- 删除最近暂存
- 删除目标暂存
- 清空历史
- 合并分支
- 可以交互式的操作到commi-id为止的提交(不包括commit-id所指向提交)的所有提交
- 拉取代码,并使用默认的远端仓库的名字
- 拉取代码,自定义本地仓库名字
- 添加远程仓库
- 查看远端仓库信息
- 删除远程仓库
- 重命名远程操作名字
- 推送分支到特定的远程仓库,如果只有一个远程仓库可以省略,第一次推送需要加入-u参数
- 推送指定tag到远端
- 推送所有tag到远端
- 拉取更新
- 获取远端仓库更新,并自动合并到本地分支(相当于git fetch && git merge)
- 使用rebase方式拉取更新
用户信息配置
全局配置用户名字和邮箱
git congfig user.name “xxxx” –global
git config user.email “xxx@xx.com“ -global
查看不同作用域的配置信息
git config –list –local
git config –list –global
git config –list –system
复制代码
初始化仓库
在已存在的项目初始化仓库
cd
git init
新建项目并初始化仓库
git init
复制代码
提交修改
查看git状态
git status
提交某个文件的修改
git add
提交已经跟踪的所有修改
git add -u
提交所有修改
git add –all
git add .
颗粒化提交修改
git add -p
提交修改到仓库
git commit -m “
直接提交所有的已跟踪的修改到仓库
git commit -a -m “
git commit -am “
修改上一次提交
git commit –amend
git commit –amend –no-edit
复制代码
查看提交历史
查看工作区和暂存区之间的区别
git diff
查看某个文件工作区和暂存区之间的区别
git diff –
用于查看暂存区和上一个提交之间的区别
git diff –cached
用于展示工作区和上一次提交之间的区别
git diff HEAD
用于展示两个提交之间的区别
git diff
用于查看所有的提交
git log
用于查看最近n次提交
git log -
用于展示每次提交log以及每次的改动
git log -p
用于展示每次提交log以及每次的改动的简要统计
git log –stat
用于展示一行简略信息
git log –oneline
用简单图形展示
git log –graph
用于展示上一个提交的修改
git show
用于展示特定提交的修改
git show
用于展示特定提交的修改的文件名
git show –name-only
打印最近操作所对应的commit id
git reflog
复制代码
文件删除&安全重命名&忽略
从工作区删除文件,并且从仓库中移除对某个文件的跟踪
git rm
只移除对该文件的跟踪,但是依旧在工作区保留文件
git rm –cached
安全重命名
git mv
删除未跟踪并且未被.gitignore忽略的文件
git clean
查看哪些文件将会被删除,但是不会真正删除
git clean -n
复制代码
撤销修改,代码回滚
撤销工作区某个文件修改
git checkout
撤销所有文件
git checkout .
恢复某个commit的指定文件到暂存区和工作区
git checkout
撤销当前暂存区的修改
git reset
版本回退
只移动仓库中HEAD
指针的位置,工作区和暂存区的修改都不变
git reset –soft
移动HEAD
指针的位置,并使用回退的到版本重置暂存区,工作区的修改保持不变
git reset –mixed
移动HEAD
指针位置,并使用回退的到版本重置工作区和暂存区,保持与指定的提交一致
git reset –hard
重置修改
新建一个提交重置目标提交
git revert
重置目标提交,但是不会新建提交,而是修改工作区和暂存区
git revert -n
重置多个提交(不包括start-id,但是包括end-id)
git revet
在revert遇到冲突并解决冲突后,继续执行撤销操作
git revert –continue
终止revert,但保留当前的结果
git revert –quit
撤销revert
git revert –abort
复制代码
分支
列出本地所有分支
git branch
列出所有远程分支(后文会讲解什么是远程分支)
git branch -r
列出所有本地和远程分支
git branch -a
查看分支的详细信息
git branch -v
新建分支
git branch
新建分支并切换分支
git checkout -b
切换分支
git checkout
切换到上一个分支
git checkout -
删除分支(针对已经合并过的分支)
git branch -d
删除分支(不管是否合并)
git branch -D
合并分支
git merge
不使用fast-forward模式合并
git merge –no-ff
挑选一个commit合并到当前分支
git cherry-pick
挑选指定分支的最新提交
git cherry-pick
挑选连续多个提交(左开右闭,不包括start-commit)
git cherry-pick
挑选连续多个提交(左闭右闭,包括start-commit)
git cherry-pick
在解决冲突后,继续执行下一个cherry-pick
git cherry-pick –continue
退出操作,保留当前进度
git cherry-pick –quit
撤销本次操作
git cherry-pick –abort
复制代码
打上Tag
查看所有tag
git tag
筛选相应的tag
git tag -l
查看某个commit上所有的tag
git tag –points-at
查看某一个tag
git show
查看所有tag以及它们分别对应的commit
git show-ref –tags
新建tag
git tag
在指定的提交新建tag
git tag
添加一个tag和message
git tag -a
删除tag
git tag -d
复制代码
紧急加塞,使用stash
新建stash
git stash
指定你想要的messge信息
git stash save
将未跟踪的文件也加入暂存
git stash -u
将所有文件加入暂存(即使该文件被git忽略)
git stash -a
查看暂存的历史
git stash list
查看某一个次特定的暂存
git show stash@{
取出最近的暂存
git stash apply
取出目标暂存
git stash apply
取出最近暂存,并删除该暂存的记录
git stash pop
删除最近暂存
git stash drop
删除目标暂存
git stash drop
清空历史
git stash clear
复制代码
变基
合并分支
git rebase
可以交互式的操作到commi-id为止的提交(不包括commit-id所指向提交)的所有提交
git rebase -i <commit-id
复制代码
远程仓库
拉取代码,并使用默认的远端仓库的名字
git clone
拉取代码,自定义本地仓库名字
git clone
添加远程仓库
git remote add
查看远端仓库信息
git remote -v
删除远程仓库
git remote remove
重命名远程操作名字
git remote rename
推送分支到特定的远程仓库,如果只有一个远程仓库可以省略,第一次推送需要加入-u
参数
git push
推送指定tag到远端
git push
推送所有tag到远端
git push
拉取更新
git fetch
获取远端仓库更新,并自动合并到本地分支(相当于git fetch && git merge
)
git pull
使用rebase方式拉取更新
git pull –rebase
复制代码
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 chaofa_vip@126.com
文章标题:Git常用命令速查表
文章字数:1.6k
本文作者:Hechaofa
发布时间:2019-05-20, 08:00:47
最后更新:2019-12-22, 17:06:00
原始链接:https://chaofavip.github.io/2019/05/20/linux/git/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。