集成常用的一些操作,方便快速上手
本文首先简单介绍一些git的几个区域和区域之间的命令,然后是git中一个比较重要的概念分支的相关操作,接着是打标签的一些相关内容,最后是对提交历史的一些查看和一些其他命令。
前置知识
Git的区域分为 工作区、暂存区、本地仓库区、本地远程仓、远程仓库
关联远程仓库 如果还没有Git仓库,你需要 git init
如果你想关联远程仓库 git remote add origin https://github.com/xxxxxx # 是远程仓库的名称,通常为 origin
工作区(work directory):一般就是我们项目的根目录。
git add files:把当前工作文件拷贝到暂存区域。
暂存区(stage):版本库中设立一个暂存区(Stage or Index),作为用来直接跟工作区的文件进行交互,工作区文件的提交或者回滚首选都是通过暂存区,而版本库中除了暂存区之外,文件的提交的最终存储位置是分支(Branch),在创建版本库的时候默认都会有一个主分支(Master)。
git commit:在暂存区域生成文件快照并提交到本地仓库。
本地仓库(repository):我们在为项目添加本地库之后,会在工作区生成一个如下图所示的隐藏目录“.git”,.git目录即为当前工作区的本地版本库
git push origin master
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。
git status【查看当前工作空间状态】
分支
git branch xxx 创建一个新的分支
git branch 查看当前所在分支【* 表示当前】
git checkout xxx 从当前分支切换某个分支
git checkout dev【切到dev次分支】
git pull【获取dev分支变化,合并冲突,使本地dev次分支最新】
git checkout master【先切到主分支master上】
git merge dev【一般是git merge dev,将dev开发完的合并到master上】
git push -u origin master【提交master分支到线上master】
标签
常用的标签想必大家都用过,用来标记和记录一些未完成的事情,其实在Git中也有标记
标签命令如下:
列出标签
git tag # 在控制台打印出当前仓库的所有标签
git tag -l ‘v0.1.*’ # 搜索符合模式的标签
打标签
git tag v0.1.2-light
切换到标签
与切换分支命令相同,用git checkout [tagname]
查看标签信息
用git show命令可以查看标签的版本信息:
git show v0.1.2
删除标签
误打或需要修改标签时,需要先将标签删除,再打新标签。
git tag -d v0.1.2 # 删除标签
参数d即delete的缩写,意为删除其后指定的标签
给指定的commit打标签
这需要你知道某个提交对象的校验和(通过git log获取)。
补打标签
git tag -a v0.1.1 9fbc3d0
标签发布
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
git push origin –tags # 将本地所有标签一次性提交到git服务器
注意:如果想看之前某个标签状态下的文件,可以这样操作
git tag 查看当前分支下的标签
git checkout v0.21 此时会指向打v0.21标签时的代码状态,(但现在处于一个空的分支上)
查看历史
查看历史命令:
显示全部的日志信息:git log 不能察看已经删除了的commit记录
显示1行日志信息: git log -pretty=oneline
显示1行的一部分:git log --oneline
显示全部信息:git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作)
其他命令
查看配置 git config --list
检出到任意版本 git checkout a5d88ea
git rebase -i HEAD~4
这个命令,将最近4个commit合并为1个,HEAD代表当前版本。
将进入VIM界面,你可以修改提交信息。
推送到远程分支的commit,不建议这样做,多人合作时,通常不建议修改历史。
回调到上一个版本 git reset --hard HEAD^
回退错了 前进 git reflog