乐趣区

关于git:git使用详细总结

集成罕用的一些操作,不便疾速上手
本文首先简略介绍一些 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

退出移动版