Git 基础知识学习

一、本地操作
软件公司代码托管到 github 或者自己搭一个 gitlab ,通常的开发流程是先在本地开发,然后将代码提交到远程仓库。
初始化产生 .git 隐藏文件。.git 文件就是所谓的本地仓库,它记录了本地的一切操作。关于本地的配置都可以一一查看。

进行代码提交操作之前,先做一下简单的配置。
这个配置主要用处是记录代码提交者的相关信息,如果有一天出现问题,就把你揪出来

除了在命令行设置,还可以在 C 盘用户目录下的 .gitconfig 文件配置。

当前目录没有任何代码需要提交,我们新建一个文件来试试。
每次操作结束后,通过 git status 查看当前仓库的文件状态,从红到绿到没有。

现在你的数据已经提交到 .git 这个本地仓库了。
二、版本跳转
每次提交代码都会有相关的操作日志。修改README文件,进行提交 ,看下log的记录。

有了操作的日志就可以进行版本的前进和后退。注意上面 HEAD->,版本前进后退的本质就是 HEAD->游标的移动。
退回到上一版本

当前 HEAD-> 游标指向上一版本 "messi"。

但是如果现在我想退回到 "xavi" ,怎么办,上面已经没有 "xavi" 的日志了。
"xavi" 又出现了。

重置到 "xavi" 版本。

三、小结
一图胜千言:
工作区:就是本地磁盘
暂存区:.git/index 文件
本地库:.git 目录

在工作区修改代码时,修改后的代码通过 git status 查看是红色。git add 到暂存区后,git status 是绿色。git commit 后,完成本次开发。
我们看可以看出来,暂存区只保存一个版本的数据,而本地库保存所有提交的数据。图上还有一个命令没有提到:
先假设一个场景,项目闲下来的时候,你开始学习项目中的代码,然后自己加东西测试学习,有一天老大让你实现什么什么功能。你的代码已经被你改的面目全非了,怎么办?重新拷一份,不不不。

以上就是 Git 本地操作的基础知识,还没有涉及到远程push,分支管理等。
版权声明: 本文为 InfoQ 作者【LeoBing】的原创文章。
原文链接:【http://xie.infoq.cn/article/cbcd2da5dd5b7ea1128d617a9】。文章转载请联系作者。
评论