Git常用命令
这篇文章主要是为了自己能快速翻找Git命令,不做具体介绍,想学习Git怎么用,请移步廖雪峰的《Git教程》。这篇教程浅显易懂,花个几小时就能懂,上手非常快的。
Git配置:
//配置用户名 $ git config --global user.name "Your Name" //配置Email地址 $ git config --global user.email "email@example.com"
注意:git config命令的–global参数,表示你这台机器上所有的Git仓库都会使用这个配置
下面是一些非必需的配置,看个人喜好。
//配置显示颜色 $ git config --global color.ui true //配置别名(非必须,可忽略) $ git config --global alias.st status //将status配置为st = $ git status => $ git st $ git config --global alias.co checkout $ git config --global alias.ci commit $ git config --global alias.br branch $ git config --global alias.unstage 'reset HEAD' //$ git reset HEAD file => $ git unstage file $ git config --global alias.last 'log -1' //显示最后一次提交信息 $ git last
初始化/添加/提交:
//初始化Git仓库 $ git init //将文件添加到仓库 $ git add <file> $ git add mx.txt //将文件提交到仓库 $ git commit -m "提交描述"
查看状态/历史/对比:
//查看仓库当前状态 $ git status //查看修改内容,对比 $ git diff //查看工作区和版本库最新版本区别 $ git diff HEAD -- mx.txt //显示最近到最远的提交日志,提交历史 $ git log $ git log --pretty=oneline //查看分支合并情况 $ git log --graph $ git log --graph --pretty=oneline --abbrev-commit //查看命令操作历史记录 $ git reflog
回退/撤销/删除:
//回退上一个版本 $ git reset --hard HEAD^ //上一个版本HEAD^ //上上一个版本HEAD^^ //上100个版本HEAD~100 //HEAD指当前版本 //回退某个指定版本 $ git reset --hard <commit_id> $ git reset --hard 3628164 //3628164 commit id,版本号可以不写全,能找到就可以 //把暂存区的修改回退到工作区 $ git reset HEAD <file> //撤销工作区文件修改到最近一次commit或add $ git checkout -- <file> $ git checkout -- mx.txt //从版本库中删除文件 $ git rm <file> $ git rm mx.txt
远程仓库:
//本地仓库和远程仓库关联(GitHub仓库) $ git remote add origin git@server-name:path/repo-name.git $ git remote add origin git@github.com:github用户名/github仓库 $ git remote add origin git@github.com:mingsixue/mxue.git //origin 远程仓库名字,Git默认叫法 //查看远程仓库信息 $ git remote //查看远程仓库更详细信息 $ git remote -v //把本地仓库内容推送到远程仓库 $ git push -u origin master $ git push origin <branch_name> $ git push origin master //-u 参数会把本地master分支和远程master分支关联起来 //把远程仓库内容拉到本地仓库 $ git pull //指定本地dev分支和远程origin/dev分支链接 $ git branch --set-upstream <branch_name> origin/<branch_name> $ git branch --set-upstream dev origin/dev //从远程仓库克隆 //SSH方式 $ git clone git@github.com:mingsixue/mxue.git //HTTPS方式 $ git clone https://github.com/mingsixue/mxue.git
分支管理:
//创建新的分支 $ git branch <branch_name> $ git branch dev //创建新分支并切换 $ git checkout -b <branch_name> $ git checkout -b dev //-b创建分支并切换,相当于下面命令 //$ git branch dev //$ git checkout dev //切换分支 $ git checkout <branch_name> $ git checkout dev //查看当前分支 $ git branch //把dev分支合并到master,快进模式Fast-forward,删除分支后会丢掉分支信息 $ git merge <branch_name> $ git merge dev $ git merge --no-ff -m "提交描述" dev //--no-ff表示禁用Fast-forward,普通合并模式,会创建一个新的commit //删除分支 $ git branch -d <branch_name> $ git branch -d dev //强行删除分支 $ git branch -D <branch_name> $ git branch -D dev //储存工作现场 $ git stash //查看储存的工作现场 $ git stash list //恢复储存的工作现场内容 $ git stash apply $ git stash apply stash@{0} //删除储存的工作现场 $ git stash drop //恢复并删除工作现场 $ git stash pop //相当于上面两条命令
标签:
//创建标签 $ git tag <tag_name> $ git tag v1.0 //默认标签打在最新的commit上 //创建指定commit id的标签 $ git tag <tag_name> <commit_id> $ git tag v0.9 6224937 //创建带说明的标签 $ git tag -a <tag_name> -m "标签描述" <commit_id> $ git tag -a v0.1 -m "标签描述" $ git tag -a v0.1 -m "标签描述" 3628164 //查看所有标签 $ git tag //查看标签信息 $ git show <tag_name> $ git show v0.9 //删除标签 $ git tag -d <tag_name> $ git tag -d v0.9 //推送标签到远程仓库 $ git push origin <tag_name> $ git push origin v0.9 //一次性推送标签到远程仓库 $ git push origin --tags //删除远程仓库标签 $ git push origin :refs/tags/<tag_name> $ git push origin :refs/tags/v0.9 //本地要先删除标签
忽略特殊文件
在Git工作区的根目录创建 .gitignore 文件,把要忽略的文件名写进去,一行一个,支持 * 匹配。写完后提交到Git。
具体怎么忽略,看这里忽略特殊文件
//查看文件被哪条规则忽略 $ git check-ignore -v <file> //强制添加文件 $ git add -f <file>
命令行:
一些常用的命令行命令。
//创建空目录 $ makir <dir_name> $ mkdir mxue //进入mxue目录 $ cd <dir_name> $ cd mxue //显示当前目录路径 $ pwd //查看隐藏目录 $ ls -ah //查看文件内容 $ cat <file> $ cat mx.txt //删除文件 $ rm <file> $ rm mx.txt
git错误:
错误:fatal: refusing to merge unrelated histories
$ git pull origin master --allow-unrelated-histories
参考文章:git无法pull仓库refusing to merge unrelated histories
错误:failed to push some refs to ‘git@github.com:mingsixue/Chrome-Plugin.git’
$ git pull --rebase origin master
出现错误的主要原因是github中的README.md文件不在本地代码目录中
参考文章:如何解决failed to push some refs to git
相关推荐
-
一套非常高效、干净、简单、灵活的组件库 框架
2019-6-1
-
简易 shell 脚本入门 (纯示例代码) 框架
2019-11-1
-
解锁 Vue多页面应用 框架
2019-3-14
-
WebSocket其实没那么难 框架
2019-8-6
-
vue + vuex + koa2开发环境搭建及示例开发 框架
2018-11-14
-
在react-native中使用redux 框架
2019-3-11
-
vue全家桶安装以及修改webpack配置新增vue项目启动方式 框架
2019-6-11
-
路由场景下父子组件的生命周期顺序来个刨根问底 框架
2018-12-17
-
深入理解Node.js 进程与线程(8000长文彻底搞懂) 框架
2019-8-16
-
Redux百行代码千行文档 框架
2018-1-29