1-git初体验
Posted 码农的成长之路-Jeson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1-git初体验相关的知识,希望对你有一定的参考价值。
1 准备工作: windows系统下,安装好msysgit -安装好后,在开始菜单找到Git > Git bash
2 当前电脑配置用户名 邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项
如果已经设置过可以通过 git config --list 查看
3 进入主题开始使用 (先在桌面上创建一个 文件夹:secondgit ;或使用自己的项目文件夹)
4 在secondgit右键 Git Bash Here
这时我们 创建一个usegit.html 文件,随便加点内容
5 把当前目录(secondgit)作为git的版本库(仓库)responsitory
可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
(如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。) pwd
命令用于显示当前目录
通过git init
命令把这个目录变成Git可以管理的仓库
发现当前目录下多了一个.git
的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
如果你没有看到.git
目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见。
6 第一次提交 把一个文件放到Git仓库只需要两步。
6.1 第一步,用命令git add
告诉Git,把文件添加到仓库:
6.2 第二步,用命令git commit
告诉Git,把文件提交到仓库:
这时我们先看看 git的状态
开始提交
这时再看看 git的状态
7 第二次提交 这时我们改动 usegit.html
看看此时 git的状态 提示修改过了
看看改动了什么
再次add 和 commit
看看git的状态
8 第三次修改
并提交
9 使用git的 版(时) 本(光) 回(机) 退功能
9.1 q:我们总共做了几次修改呢? a: 三次
查看所做的修改
嫌输出信息太多,看得眼花缭乱的,我不会告诉你还可以加参数o(╯□╰)o --pretty=oneline
参数
9.2 假设boss说你内容区域做的太lower了,重做!于是想回到 第二次提交后的状态
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
表示当前版本,也就是最新的提交85e0890...bbe65d0
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,
当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
现在,我们要把当前版本 “添加了底部” 回退到上一个版本“添加了内容区域”,就可以使用git reset
命令:
发现我们已经回到了上个版本
再 git log一下看看提交的情况
最新的那个版本 “添加了底部” 已经看不到了!好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?
办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个 “添加了底部” 的commit id
是85e0890...
,于是就可以指定回到未来的某个版本:
查看usegit.html文件 嗯...我又回来了
变化是这样的,图片是借用廖雪峰大神的--千万不要钻牛角尖
9.3 现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id
怎么办?
在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^
回退到add distributed
版本时,再想恢复到 "添加了底部" ,就必须找到 “添加了底部” 的commit id。
Git提供了一个命令git reflog
用来记录你的每一次命令:
以上是关于1-git初体验的主要内容,如果未能解决你的问题,请参考以下文章