Git 学习之旅

0.git不可不知道的东西

Git 学习之旅_第1张图片

  a.工作区

      也就是的本地磁盘用到的地方,比如说你的Java项目demo在d:\demo,那么这个地址就是你的工作区,当然前提是你这个目录被git纳入了版本库管理(在d:\demo 目录运行 git init 就可以在当前目录生成一个.git目录,表明已经创建了一个版本库)。

  b.暂存区

        这个概念非常重要,一个文件加入了暂存区表明该文件可以被git版本库追踪,实现命令为 git add filepath,这个是git 的精髓,不可不知道。我们的提交命令 git commit - m "message" 是负责把暂存区的东西全部放入master。master可以理解成一个分支,有许多版本,每次提交(commit)就会生成一次提交记录,也就是一个版本。

  c.master

   我们从github远端克隆下来的代码都默认把origin/master拷贝到本地的master分支。


1.准备工具

  cygwin(一款运行在Windows上的模拟Linux操作的软件,谁用谁知道) ,这个软件的功能比git bash强大多了,下载链接: cygwin64

  安装过程我就不啰嗦了,自己百度,安装过程中会让你自己选择装哪些功能,一般只需安装wget,git这两个。安装成功后,在环境变量配置安装路径 ,我的是 D:\cygwin\bin,在终端或者cmd命令行输入    cygcheck -c cygwin,如果输出下图则表明你安装成功


2.创建版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

    所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录demo3,进入该目录(在标记红框的地方输入cmd,回车,如下图)


,在弹出的终端执行git init ,便可得到


新建一个文件test

vim test

添加,hello,保存。

运行

git add test
Git 学习之旅_第2张图片

运行

git status

Git 学习之旅_第3张图片

红色的test表明该文件没有加入暂存区

运行

git add test

git status

Git 学习之旅_第4张图片

提示信息变绿了,表明该文件第一次加入暂存区。我们再修改这个文件,添加一行:  “nihao”,然后git status

Git 学习之旅_第5张图片

保存了两个关于test的信息,绿色的表明第一加入暂存区,红色的表明加入暂存区后该文件又被修改了。

运行

git commit -m "c1"
git status

得到

Git 学习之旅_第6张图片

     现在只有红色的提示,绿色的已经被提交了,由于commit只提交暂存区的信息,这里也可以说明被修改的test没有加入暂存区。

    运行

git log
Git 学习之旅_第7张图片

黄色的一长串(不包括commit)表明提交的id,也就是一个版本。我们可以利用 git show commitid:filepath查看该版本的文件内容:

git show 5d089406b29b3f3f295a566b2f719c4c9500ca45:test

下面演示一个比较有意思的事情,创建一个临时文件temp,演示删除它.

    场景a:先创立temp->删除->干净的工作目录

Git 学习之旅_第8张图片

场景b:先创立temp->加入暂存区->删除->加入暂存区->提交->干净的工作目录.

Git 学习之旅_第9张图片

   可以看出场景b只需提交一次便可以得到干净的工作树。

  场景c:先创立temp->加入暂存区->删除->提交->加入暂存区->提交

Git 学习之旅_第10张图片

可以看出场景c必须提交2次才可以得到干净的工作树。




你可能感兴趣的:(Git)