1.安装:在Windows上安装Git

  • 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。
  • 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!如下图所示:

clipboard.png

  • 安装完成后,还需要最后一步设置,在命令行输入:(输入时 不加引号! )

结果如下图所示:(注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。)

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

clipboard.png

2.创建版本库:

定义:版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
  • 第一步,选择一个合适的地方,创建一个空目录:
    结果如下图所示:

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

clipboard.png

  • 第二步,通过git init命令把这个目录变成Git可以管理的仓库:

结果如下图所示:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
(瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),也许可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。不过如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。)
clipboard.png

3.把文件添加到版本库
(建议下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可: 设置->首选项->新建)
clipboard.png

  • 在Notepad++中编写一个 readme.txt 文件,一定要保存到learngit目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件,内容如下:

Git is a version control system.
Git is free software.

clipboard.png

  • 第一步:用命令git add告诉Git,把文件添加到仓库(No news is good news!):

$ git add readme.txt

clipboard.png

  • 第二步,用命令git commit告诉Git,把文件提交到仓库:

(简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。)
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt

(代码解释:git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),插入了两行内容(readme.txt有两行内容)。)

clipboard.png

提问:为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

  • 提交完成后可以继续工作,修改readme.txt文件,改成如下内容:

Git is a distributed version control system.
Git is free software.
运行git status命令看看结果:
(git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。)
clipboard.png
运行git status命令看看结果:
(git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。)

clipboard.png

4.版本回退:

  • git log命令:查看readme.txt文件一共有几个版本被提交到Git仓库里:

(git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。)
clipboard.png

  • git log --pretty=oneline: 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:(需要友情提示的是,你看到的一大串类似d773d84..2c62e的是commit id(版本号))

clipboard.png

  • git reset --hard HEAD:HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭

(首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。)
clipboard.png

  • git reset --hard commit_id :最新的那个版本append GPL已经看不到了!好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个append GPL的commit id是d773d84..2c62e,于是就可以指定回到未来的某个版本:版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

clipboard.png

  • git reflog:Git 提供的命令git reflog用来记录你的每一次命令。

clipboard.png


用户bP7JjP
127 声望8 粉丝