Git的基本命令大全
设置
git config --global user.name “youname”
git config --global user.email “youemail”
git config --global hello.test onlytest
//全局配置文件位于 %userprofile%/.gitconfig, 本地配置指cmd的当前工作目录
获取
git config --get user.name
git config --get-all user.name //从各个级别(本地 全局)的配置文件中取配置值
git config --get-regexp user* //用正则指定想获取的配置项
删除
git config --global --unset hello.test
git config --global --remove-section hello
显示
git config -l
git config --global -list
#显示帮助
git config -h //命令行里显示简要帮助
git config --help //浏览器打开git安装目录下的html帮助文件
初始化本地git仓库
创建目录 初始化本地git仓库
mkdir myproject
cd myproject
git init //创建空的git仓库或重新初始化已有的仓库,创建.git目录(objects, refs/heads, refs/tags, HEAD和模板文件)
git init-db //同 git-init
git fsck //检查仓库有没有错误
git gc //用垃圾回收机制清除由于reset造成的垃圾代码
添加文件并提交
git add / git add .
git commit -m “some comments”
git commit -a -m “add and commit”
查看状态
git diff //工作目录 和 index的差异比较
git diff --cached//index和HEAD(最近一次提交)的差异比较
git diff HEAD //工作目录同HEAD的比较
git diff … #分支比较
git status //当前分支状态
查看日志
git log / git log -p
git log … //显示两个标签之间的提交日志
git log … //显示tag1标签之后的提交日志
git log --since=“2 weeks ago”
git log -n 3 //查看最近3次的提交日志
git log v1.0… somefolder //somefolder从v1.0后的提交日志
gitk --since=“2 weeks ago”
git show HEAD //查看最近一次提交日志
撤销修改
//git reset 是指 撤销到哪个commitId,缺省commitId 则为HEAD
git reset //若当前修改stage了,但未提交,则回退,HEAD->index
git reset HEAD //HEAD->index 同上
git reset --hard HEAD //working tree, index file 都撤销到最后一次commit的状态
git reset --soft HEAD^ //恢复到上一次commit的代码 soft表示不改动index file和working tree
git reset HEAD //默认是 --mixed, index file 和 commit都会撤销到最后一次commit之前的状态, working file不受影响。
git reset – //撤销某文件的staged状态 (git status查看变化) HEAD->index
git reset – . #撤销当前文件夹的staged状态
git rebase //重设基
分支管理
创建
git branch mybranch //创建分支
git checkout -b local_name origin/remote_name #基于远端分支创建新分支
如:git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
git branch //基于某标签建立分支
查看
git branch -a //显示所有分支
git branch -r //显示远端分支
git branch //列出所有分支
git show-branch //显示所有分支 信息多一点
git branch -v //同上
切换 合并
git checkout mybranch //切换分支 ,
git checkout -b otherBranch 创建并切换
git checkout master
//do some change in master
git merge mybranch //合并分支到主干
//若有冲突 手动解决冲突后,再次提交
vim
git commit -a -m “conflit resolved” //解决冲突后重新提交
gitk //可视化分支查看界面
删除
git branch -d mybranch //分支合并到主干后 删除分支
git branch -D mybranch //无论分支是否合并 都执行删除
添加和查看远端仓库
git remote add origin repoUrl //添加远端仓库
git remote show origin
显示远端仓库的详细信息(fetchUrl pushUrl, branches, “local branches configured for ‘git pull’” , "local refs configured for ‘git push’ ")
推送数据
git push origin localBranch:remoteBranch//推送数据
//本地master推送到远程的remaster 如:
git push origin master:remaster
检出代码
//检出代码到本地某文件夹, repoUrl可以为远端url或本地路径
//(注:只clone远端仓库的当前分支,并非全部分支都clone过来)
git clone
//clone 远端仓库的某个分支
git clone -b <remote_branch> <remote_repo>
//pull的意思是指从远端git仓库fetch修改的代码,
//然后merge到本地的git仓库当前分支/指定分支中
git pull master
//根据本地分支-远程分支的对应关系从远端拉取更新
//如git clone的仓库和自动和远程仓库的default分支建立对应关系
git pull
git fetch origin remote_branch_name:local_branch_name
//拉取远端git仓库master分支到本地mybranch2分支
git fetch master:mybranch2
查看git对象信息(commit, tag, branch)
git show //查看某个提交的信息,git log可获得commitid
git show HEAD //HEAD可以认为是最近一次commit的 commitid 同 git log -n 1 -p
git show HEAD^ //显示上一次commit的信息(parent commit)
git show HEAD^^ //显示上上次commit
git show HEAD~3 //显示前3次commit
git show HEAD^1 //显示第1个上次commit(parent commit)
git show //显示分支信息最近一次提交的信息
标签管理
git tag //给最近的提交加标签 git tag v1.0
git tag //给某次commit加标签(起别名)
git show //显示某标签对应commit的信息
查看git对象
//查看git对象内容(tree, blob, HEAD ,index)
git cat-file -t //-t 获取id对应对象的类型
git cat-file commit //查询一个commit对象
git cat-file blob //查看二进制对象的内容
git ls-tree //查看树对象
git ls-files --stage //查看index file的内容
cd .git
cat HEAD
搜索内容
//内容搜索
git grep “keyword” //在某分支的文件中 搜索关键字
git grep “keyword” //在所有历史记录中搜索
查看帮助
//获取帮助
git -h //直接在命令行显示用法
git --help //用浏览器打开对应的文档
No. | 大剑师精品GIS教程推荐 |
---|---|
0 | 地图渲染基础- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】 |
1 | Openlayers 【入门教程】 - 【源代码+示例 300+】 |
2 | Leaflet 【入门教程】 - 【源代码+图文示例 150+】 |
3 | MapboxGL 【入门教程】 - 【源代码+图文示例150+】 |
4 | Cesium 【入门教程】 - 【源代码+综合教程 200+】 |
5 | threejs 【中文API】 - 【源代码+图文示例200+】 |
6 | Shader 编程 【图文示例 100+】 |
7 | Geoserver 【配置教程 100+】 |
8 | 卫星应用开发教程 【配置+应用教程 100+】 |
9 | GIS数字孪生与大模型 【应用实战 100+】 |
10 | 报表与数字大屏 【Echarts 实战示例】 - 【D3 综合教程】 - 【其他大屏】 |