小蚂蚁学习git(1)——创建版本库、版本回退、工作区和暂存区的区别

    下载msysgit,它是window版本的git,在linux下最简单的方法就是使用命令: yum install git

    一路默认安装即可,打开Git Bash,能够弹出一个类似cmd命令行的窗口,表示成功。

    首先,需要设施用户名和邮箱作为一个标识。

        git    config    --global user.name "xiaomayi"

        git    config    --global user.email "email"

    注意:git config -global 参数,有了这个参数,表示在这台计算机上的所有git仓库都会使用这个配置,也可以对某一个仓库指定不同的用户名和邮箱。

    一、创建版本库(repository,其实就是一个目录)   

    cd /d/www    切换到d盘www目录

    mkdir    testgit    创建一个名叫testgit的目录

    pwd        显示出当前所在的目录路径

    git    init    把当前的这个目录变成git能够管理的仓库,之后就会生成一个.git的隐藏目录,这个目录不要人为改动。

    创建一个文件readme.txt,把文件添加到版本库中

    git    add    readme.txt    将readme.txt添加到暂存区之中

    git    commit -m "readme.txt第一次提交"    把文件提交到仓库,引号里面的内容代表了这次提交所留下的注释信息。

    git    status    查看是否还有文件需要提交,注意看它的返回信息就可以知道当前文件的提交或者修改情况。

    git    diff    readme.txt    查看readme.txt都做了什么修改,修改前后有什么不同

    二、版本回退

    git    log     查看对历史记录,显示了从近到远的日志信息,这时候提交时写的备注就十分有用了,如果嫌显示的信息太长,可以使用下面这个命令简化一下。

    git    log     --pretty=oneline    和上条命令的功能一样,就是信息简化了很多,看着更加明了。

    当前的这个版本不想用了,想回到上一个版本的内容:

    git    reset    --hard    HEAD^    回到上一个版本

    git    reset    --hard    HEAD^^    回到上上一个版本,区别就在于后面跟的“^”,如果有精力,还可以添加50个“^”,看看能不能回到之前第五十个版本,当然,如果嫌麻烦,还可以使用下面这个简单的命令,也能回到第50个版本:

    git    reset    --hard    HEAD~50    轻松回到之前第50个版本,返回之后,还可以使用git    log,来查看是否回退正确。

    版本回退完成后,突然后悔了,还不如不回退呢,开始怀念刚才最新的版本了,怎么办?

    git    reset    --hard    版本号    这样就可以回退指定的版本,但!是!问题来了,怎么知道某个版本的版本号呢,不用着急,可以使用下面的这个命令:

    git    reflog    之前提交的信息,包括提交时写的注释,更重要的是还包括了版本号,这样以来,回退的各种问题都迎刃而解了。

    另外,在增加几个常用命令

    git    rm    readme.txt    将该文件删除

    cat    readme.txt    查看该文件内容

    vi    readme.txt    我是在window环境下操作的,可以vi对文件进行编写。不禁让我想起曾经的老师,非得让我们使用极其难用vim编辑器,说的是对我们以后有好处,事实证明,老师是对的。

    三、工作区和暂存区的区别

    工作区:就是看到的目录,当然.git目录不包含在内。

    版本库(repository,仓库),工作区的一个隐藏目录.git,这就是版本库,里面有很多东西,其中一个就是stage(就是我们所谓的暂存区)。

    git提交文件到版本库有两步: 第一,把冰箱门打开,哦不是,不好意思……第一,使用git add把文件添加进去,实际上就是把文件添加到了暂存区。第二,使用git commit提交,这就是把暂存区的所有内容提交到了当前的分支上了。

    (未完待续    学PHP的小蚂蚁    http://my.oschina.net/woshixiaomayi/blog)

    

你可能感兴趣的:(git)