Git带你回到过去和未来【1】

原创 2017年10月13日 20:22:40

1、  使用前的配置(相当注册用户)

在命令行模式下输入以下命令:

$git  config  –global user.name  “test_name”

$git  config  –global user.email  “test_name@126.com

 

2、  查看注册是否成功

在命令行模式下输入以下命令:

$git  config –list

 

3、  Git是将每个版本独立保存,分支(branch)是git的王牌

 

4、  Git维护的三棵树:

第一棵树:工作区域(working directory,工作看的见地方)、

第二棵树:暂存区域(stage,保存临时的改动,即将提交到仓库的索引index )

第三棵树:git仓库(repository ,存储最终提交的所有的版本信息,而head指针指向最新的保存版本)。

 

5、  工作流程:第一步,在工作目录中添加、修改文件,对应的状态为“已修改”(modified),第二步,将需要进行版本管理的文件放入暂存区域,对应的状态为“已暂存”(staged),第三步,将暂存的文件提交到git仓库,对应的状态为“已提交”(committed)

 

6、  创建git项目,控制台中转到当前工程时的目录,不能有中文,否则会有识别warning

创建项目的目录下会多一个文件,named:”.git”的文件,该文件是git来跟踪工程的控制操作,请不要轻易改动。

 

7、  新建一个README.md的文件,其编码格式为utf-8无bom格式,防止乱码。

 

8、  将readme文件提交到暂存区加入index,以下命令:

$ git add README.md


9、  将readme 文件提交到仓库repository中,以下命令:

$ git commit –m “add a readme file”

 

10. 查看状态,以下命令:

         $git stauts

 

11. 创建协议(protocol)MIT,最宽松的协议

在项目的根目录创建一个license文件,百度其详细内容,之后提交命令:git status

添加到暂存区域中

提示中显示git reset HEAD 命令是回到上一步,没有提交到暂存区域

再次提交到暂存区域中:git add 命令,不在有提示reset

提交到仓库repository: gitcommit –m “add a LICENSE file”

查看状态:

 

MIT 中没有添加个人信息(添加年份,作者),修改后查看状态

提示有两个命令,一个是git add 命令,另一个是git checkout 命令

第二个命令是放弃工作区域的修改,这个命令不安全,慎用。

 

   恢复原来的状态,即添加MIT中修改的年份和作者,之后添加到暂存区域 git add命令,查看当前状态git status命令

 

再次修改MIT中作者信息(t_tamir —>t_tamir.edu.com),查看状态git status

         此时应该先提交到暂存区域,再提交到仓库

 

12.查看历史提交记录:git log

 

13.命令总结

工作区域 ---> 暂存区域   add命令

暂存区域 ---> 仓库区域   commit命令

 

工作区域 <--- 暂存区域   checkout命令

暂存区域<--- 仓库区域   reset命令

 

14.回到过去 reset HEAD 命令  后面加“~”指回到上一个快照,若加两个“~”指回到上上的快照,若回到十个快照,则:reset HEAD~10

 

回滚命令参数为:git reset HEAD,主要有三种:

第一种默认的git reset –mixed HEAD~ (影响第三棵树和第二课树)

------移动HEAD指针,将其指向上一个快照

------将HEAD移动后指向的快照回滚到暂存区域

 

第二种软回滚 git reset –soft HEAD~ (影响第三课树)  相当与撤回一次commit命令

------移动HEAD指针,将其指向上一个快照

 

第三种硬回滚 git reset –hard HEAD~ (影响第三棵树、第二课树、第一课树)

------移动HEAD指针,将其指向上一个快照

------将HEAD移动后指向的快照回滚到暂存区域

------将暂存区域的文件还原到工作目录

 

 Reset 回滚到指定的快照,在reset后加上快照号(一般为快照号的前5位)

 


Git带你回到过去和未来【2】

15.版本对比(大家快来,一起找茬!!!) 创建一个工程: 第一步:创建一个MyProject2文件作为一个项目,并初始化Git 第二步: 引入一个工程文件(这里命名为game.py,其内容是“...
  • py_tamir
  • py_tamir
  • 2017年10月14日 15:28
  • 119

Git带你回到过去和未来【3】

21.修改最近的一次提交: 应用场景:若工程文件只改变了README.md文件,其它的文件没有修改,此时没有必要生成新的快照。 例如,暂存区域中有README.md的第三版,而仓库中的README...
  • py_tamir
  • py_tamir
  • 2017年10月14日 22:59
  • 68

Git 如何带你回到过去

这篇日志是关于如何使用Git恢复过去的代码,可以猛击 这里 补充一点背景知识。     在本文中出场的主角有:     git checkout :用来从仓库中取出文件或者将标签"HE...
  • u010340143
  • u010340143
  • 2013年04月21日 10:20
  • 1394

Git带你回到过去和未来【6】#匿名分支

33.匿名分支 创建一个项目 MyProject3,完成git 初始化操作。 准备工作: 创建1.txt,add 到暂存区,commit 到仓库; 创建2.txt,add 到暂存区,commi...
  • py_tamir
  • py_tamir
  • 2017年10月20日 16:35
  • 114

Git带你回到过去和未来【5】#合并、删除分支

31.合并分支: 语法:git merge 分支名 示例:$ git merge feature 查状态: $git status 两次修改了README.md ,此时机器不知怎么处理。 打...
  • py_tamir
  • py_tamir
  • 2017年10月17日 19:40
  • 100

回忆过去,畅想未来--2016下

前言      半年的时间过得好快,尤其是这个半年如今回忆起来真的是五味陈杂。这个半年里,真的是有哭有笑,有喜有悲。写这封半年总结之前,我也去看了看自己上一篇半年总结,这里与大家分享我的成长。http...
  • SweetyoYY
  • SweetyoYY
  • 2017年02月28日 23:04
  • 1018

为什么说速度超过光速能回到过去

速度超过光速,时间将会倒流(回到过去)。这里需要注意两个要素,第一个是“超过”,第二个是“光速”。因此问题的重点在于:要回到过去,为什么速度一定要“超过”光速,以及,为什么要超过的速度是“光速”?我们...
  • xinyuan510214
  • xinyuan510214
  • 2016年01月06日 19:48
  • 821

图文笔记,带你走进《未来简史》(6-10)

作者:@文曰小强(微信公众号:diaoxiazhangqiang) 整理:@一喵(作者已授权) 转载请注明出处。 家畜的诞生是人类的罪!《未来简史》笔记06       今天我们进入《未来简史...
  • xcat_1
  • xcat_1
  • 2017年05月03日 15:14
  • 1055

图文笔记,带你走进《未来简史》(36-41)

作者:@文曰小强(微信公众号:diaoxiazhangqiang) 整理:@一喵(作者已授权) 转载请注明出处。 英脱欧、美大选的数据本质《未来简史》笔记36     上期语音...
  • xcat_1
  • xcat_1
  • 2017年05月03日 11:35
  • 1539

SLAM的现在与未来

http://geek.csdn.net/news/detail/202128 作者:高翔,张涛,刘毅,颜沁睿。  编者按:本文节选自图书《视觉SLAM十四讲:从理...
  • OnafioO
  • OnafioO
  • 2017年06月13日 13:25
  • 1865
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git带你回到过去和未来【1】
举报原因:
原因补充:

(最多只允许输入30个字)