git 学习系列(一)
目录
git 简介
git 是一个开源的版本控制,在团队构建项目时学习使用它尤为重要。
git的升级
参考我的文章Git ubuntu 升级
建立仓库
在 Github 个人仓库 Repositories 下有一个 New 按钮,点击后开始 Create a new repository,输入
Repository name,Description,Initialize this repository with a README 等信息即可构建自己的个人仓库

克隆仓库
使用
git clone
命令
对于我的仓库有:
git clone https://github.com/mrcangye/Gittest.git
进入仓库主目录,仓库主目录中有个 .git 隐藏文件夹,它里面包含了仓库的全部信息,删掉这个文件夹,仓库就变成普通的文件夹了
查看主机名
git remote -v
可以查看本地仓库所关联的远程仓库信息
查看仓库初始状态
git status
当你新建文件后,master 后面出现了 * 星号,这表示工作区或暂存区有变化,对文件进行增删改操作都会出现这个星号,另外使用这个命令可以查看详情
将文件提交到暂存区
git add [文件名]
当需要将所有文件提交到暂存区时,我们只需要这样做
git add .
撤销提交
git reset -- [文件名]
或者
git rm --cached [文件名]
暂存区提交全部撤销:
git reset --
查看修改详情
git diff
查看全部修改详情
git diff --cached
当跳到暂存区修改详情页时,按 Q 可退出
提交修改
git commit
查看修改记录
git log [分支名] 查看某分支的提交历史,不写分支名查看当前所在分支
git log --oneline 一行显示提交历史
git log -n 其中 n 是数字,查看最近 n 个提交
git log --author [贡献者名字] 查看指定贡献者的提交记录
git log --graph 图示法显示提交历史
git log --reverse 时间正序排列显示提交历史
配置个人信息
git config --global user.email "you@example.com"
git config --global uesr.name "you name"
查看个人配置信息(在 .gitconfig 文件中)
git config -l
查看全部分支信息
git branch -avv 查看全部分支信息
推送
git push
版本回退
git reset --soft HEAD^ 撤销最近的一次提交
git reset --soft 软退回
git reset --hard 硬退回
git reset HEAD^ 撤销一次提交,
git reset HEAD^^ 撤销两次提交
git reset HEAD~n 撤销 n 次
git branch -avv 退回后查看分支信息
强制推送
git push --force
本地仓库版本变化
git reflog
通常使用这个命令结合
git reset --hard [版本号]
git reset --hard HEAD@{2}
进行版本回退
git 学习系列(一)的更多相关文章
- Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)
不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
- Git学习系列之Windows上安装Git之后的一些配置(图文详解)
不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...
- Git学习系列之Git基本操作拉取项目(图文详解)
前面博客 Git学习系列之Git基本操作推送项目(图文详解) 当然,如果多人协作,或者多个客户端进行修改,那么我们还要拉取(Pull ... )别人推送到在线仓库的内容下来. 大神们是不推荐使用 pu ...
- Git学习系列之Git基本操作推送项目(图文详解)
前面博客 Git学习系列之Git基本操作提交项目(图文详解) 如果完成到一定程度,那么可以推送到远端在线仓库. 推送之前,请确保你已经设置了全局的 user.name 和 user.email, 如果 ...
- Git学习系列之Git基本操作提交项目(图文详解)
前面博客 Git学习系列之Git基本操作克隆项目(图文详解) 然后可以 cd 切换到 LispGentleIntro 目录, 新增或者修改某些文件.这里只是模拟一下操作, 实际情况可能是 使用 Ecl ...
- 全网最详细的Git学习系列之安装各个Git图形客户端(Windows、Linux、Mac系统皆适用ing)(图文详解)
不多说,直接上干货! 目前Git图形客户端 TortoiseGit .SourceTree .GitUp .SmartGit .QGit .GitX .Gitnub.Tower .Git-cola . ...
- Git学习系列之Git 的缺点有哪些?
不多说,直接上干货 前面,谈及了 Git学习系列之Git 的优势有哪些? 缺点: (1)资料少(起码中文资料很少). (2)学习周期相对而言比较长. (3)不符合常规思维. (4)代码保密性差,一旦开 ...
- Git学习系列之 Git 、CVS、SVN的比较
Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial (其中,关于SVN,请参见我的博客:SVN学习系列) 目前Google C ...
- Git学习系列之Debian或Ubuntu上安装Git详细步骤(图文详解)
前言 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Win ...
随机推荐
- redis常用命令--strings
strings常用命令: set key value:存值 get key:取值 append key value:在值后追加值 strlen key:获取长度 mset key1 value1 ke ...
- oracle(9) 序列和约束
序列 SEQUENCE 也是数据库对象之一,作用:根据指定的规则生成一些列数字. 序列通常是为某张表的主键提供值使用. 主键:通常每张表都会有主键字段,该字段的值要求非空且唯一, 使用该字段来确定表中 ...
- k8s中解决容器时差问题
解决k8s的pod容器的时差常用的两种方式: 1.通过设置pod 模板中的环境变量 env解决 在pod的模板中添加以下: apiVersion: v1 kind: Podmetadata: na ...
- JDK安装 - Linux环境
JDK安装 - Linux环境 1. 下载 :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...
- windows下使用mysqlbinlog做数据恢复时出现mysqlbinlog: File 'D:\MariaDB' not found (Errcode: 2)
出现如下这种情况是因为为找到bin-log日志,但为什么没有查到了??? 从图中可以看出系统只到到了D:\MariaDB但路径并没有查全,默认在windows下是以空格为分隔符的,所以他把D:\Mar ...
- Tutorial: Create a Blinky ARM test project(创建一个闪灯的arm测试项目)
Background ref : Tutorial: Create a Blinky ARM test project If you are new to ARM development, it is ...
- 关于Java编码规范
一.尽量使用卫语句 卫语句概念 条件表达式通常有两种表现形式,第一种形式是:所有分支都属于正常行为:第二种形式则是:条件表达式提供的答案中只有一种是正常行为,其他都是不常见的情况.这两类条件表达式有不 ...
- 3. 现代 javascript 数组专题 和 对象专题
数组专题 展开运算符 使用...符号, 可以将数组"展开". 数组展开的妙用 ... eg: // 代替apply const foo = [1, 2, 3] const bar ...
- redis在linux中的安装启动
1. 拖到 /usr/local 下 2. 解压 tar zxf redis-4.0.8.tar.gz 3. mkdir /usr/redis 4. 编译 cd redis-4.0.8/src ...
- 解析java实体类
对java实体类的众多理解: A .就是属性类,通常定义在model层里面 B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段. 好处: 1.对对象实体的封装,体现OO思想. 2.属性可以 ...