一、前言
在使用Git之前我们需要安装Git。目前Git支持Linux/Unix、Solaris、Mac和 Windows 平台上运行。
Git各平台安装包下载地址为:http://git-scm.com/downloads
后面的文章将以windows为例。
二、Git安装配置
下载安装包后安装,如图
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。右键菜单如下:
点击Git Bash Here
蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以每个机器都必须自报家门,需要填写用户名和邮箱作为一个标识。
如果用了 –global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 –global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
三、Git 基本操作
仓库又名版本库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
1. 创建一个空目录
所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir demo $ cd demo $ pwd
2. 初始化
使用当前目录作为Git仓库,我们只需使它初始化:
$ git init
可以发现当前目录下多了一个.git
的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
如果你没有看到.git
目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见或者打开windows 的“隐藏的项目”。
也不一定必须在空目录下创建Git仓库,选择一个已经有东西的目录也是可以的。
3. 把文件添加到版本库中
本库demo目录下新建一个记事本文件 readme.txt
第一步:使用命令 git add readme.txt添加到暂存区里面去。如下:
$ git add readme.txt
第二步,用命令git commit
告诉Git,把文件提交到仓库:
$ git commit -m "这里是提交的注释"
现在我们已经提交了一个readme.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交,如下:
修改readme.txt内容,继续使用git status来查看下结果,如下:
上面的命令告诉我们 readme.txt文件已被修改,但是未被提交的修改。
接下来我想看下readme.txt文件到底改了什么内容,如何查看呢?可以使用如下命令:
$ git diff readme.txt
知道了对readme.txt文件做了什么修改后,我们可以放心的提交到仓库了,提交修改和提交文件是一样的2步(第一步是git add 第二步是:git commit)。
四、版本回退
我们已经学会了修改文件,现在我继续对readme.txt文件进行修改,再增加一行,继续执行命令如下:
现在我已经对readme.txt文件做了三次修改了,那么我现在想查看下历史记录
$ git log
如果嫌上面显示的信息太多的话,我们可以使用命令
$ git log –-oneline
现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?可以使用如下2种命令,第一种是:
$ git reset –-hard HEAD^
那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:
$ git reset –-hard HEAD~100
再来查看下 readme.txt内容如下:
$ cat readme.txt
可以看到,内容已经回退到上一个版本了。我们可以继续使用git log 来查看下历史记录信息,如下:
但是现在我想回退到最新的版本,我们可以通过版本号回退,使用命令方法如下:
$ git reset –-hard 版本号
但是现在的问题是版本号我并不知道呢?可以通过如下命令即可获取到版本号:
$ git reflog
可以看到内容又回到了最新版本:
最新评论
大佬
Nignx主要是后台做负载用,没想到你也这么用心
这个评论虽然不能一针见血,但是喜欢这个文章,一直喜欢这个时间管理法。很好
优秀
你对加密的定义很严谨,在平时及网络各种文章中,通常将 base64 称之为“加密”,上面及文章中提到的“加密”同样是这个意思,并非严格意义的加密。严格讲 base64 是一种编码方式。感谢你的回复。
严格意义上来说 base64 不算是加密(Encryption),而是一种编码形式(Encoding)。对于 UTF-8 这种也可以叫它为 Encoding。 加密(Encryption)是指像 R
Base64: 可逆性。 可以将图片等二进制文件转换为文本文件。 可以把非ASCII字符的数据转换成ASCII字符,避免不可见字符。 MD5: 不可逆性。 任意长度的明文字符串,加密后得到的密文字符
第一个问题BASE64的加密方式和MD5的加密方式在这里 哪种 好用?