在仓库之中可以保存所有用户开发过程之中所编写的代码的日志纪录。对于使用过maven的用户应该很清楚respository这个单词。

        如果要开发项目,那么首先必须有一个仓库(可以简单的理解为是一个磁盘上的文件夹)。

范例:创建文件夹(d:\mypro

d:

md mypro

        此时mypro文件夹是一个空的文件夹,没有任何的内容,只是一个纯粹的目录。

范例:mypro文件夹定义为仓库

·  进入文件夹:

cd mypro

·  初始化仓库(将此目录变为可以被GIT管理的仓库)

git init

     既然我们都是从事于Java开发的,那么下面就利用Java源文件观察git使用。

范例:建立一个Hello.java文件

public class Hello {

        public static void main(String args[]) {

                 System.out.println("Hello World !") ;

        }

}

        此时Hello.java文件保存在了mypro目录下,而且mypro目录属于git管理的仓库。

范例:察看当前仓库的状态

git status

     在“git status”状态查询操作上可以发现有如下的几个提示信息:

                 · 现在的开发属于主分支:On branchmaster

                 · 初始化仓库的提交:Initialcommit

                 · 未标记的文件:Untracked files

                 · 随后给出了一些操作的命令:(use "git add ..." to include inwhat will be committed)

                 · 未标记文件的列表,现在只有一个:Hello.java

范例:将文件加入到暂存库之中

 

git addHello.java

范例:提交文件信息

git commit -m "NewJava File - Hello.java Create"

     程序代码已经可以成功的进行了发布,但是代码出现就是为了修改。于是现在来观察对于git工具如何去控制修改。

范例:修改Hello.java文件

public class Hello {

        public static void main(String args[]) {

                 System.out.println("Hello Yootk .") ;

                 System.out.println("www.yootk.com") ;

        }

}

范例:察看文件的前后区别

git diff Hello.java

范例:将修改后的代码加入到暂存区后进行提交

git commit -a -m"Update Hello.java File . Add Two Lines"

     每当用户进行代码提交的时候都会自动的生成一个commitid,而这个commit id就是进行代码回退的主要操作方式。

范例:查询当前修改后的日志信息

git log --pretty=oneline

        大家可以发现所有的commit id并不是顺序的123编号,而是由系统生成一个十六进制数据,这一概念就跟Session ID类似,由GIT自己控制,主要是为了防止版本号的冲突。

范例:回退一步

git reset --hard HEAD~1

范例:找到所有的已经删除的信息commitid

git reflog

范例:恢复最后一次提交

git reset --hard fe27af74

        此时的代码就恢复到了新的状态,也就是说利用这些commitid就可以方便的进行代码的历史穿梭。