虚拟项目学习git/github原理与基本操作1

本人为了更好的学习git的基本操作,利用github给提供的良好的服务,通过一个虚拟项目来熟练git的基本操作与原理。


1. Git基础知识


在git中每一次版本信息都是对所有文件的一次快照,保存了指向这个快照的索引。


对于任何一个文件,git内部只有三种状态,已提交(committed),已修改(modified)和已暂存(staged).

已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。

文件的三种状态的转换可以看图,(手工画的)

虚拟项目学习git/github原理与基本操作1_第1张图片


每个项目都有一个 git 目录,它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。

从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录。这些文件实际上都是从 git 目录中的压缩对象数据库中提取出来的,接下来就可以在工作目录中对这些文件进行编辑。

所谓的暂存区域只不过是个简单的文件,一般都放在 git 目录中。有时候人们会把这个文件叫做索引文件,不过标准说法还是叫暂存区域。


说明:git是一个分布式的版本控制系统,也就是在你的本地有完整的一个仓库的备份,所以你几乎所有的操作都可以在本地完成,处理速度非常快,因为本地有完成的服务器数据镜像。

暂存区指的是文件已经修改,并且添加的版本控制追踪中,在下一次提交的时候即可提交到代码仓库中。 

之所以有暂存区,是因为git的所有存入仓库的操作都是针对暂存区的文件进行的。

很多刚刚接触git的会被git的 本地数据库(git directory)弄晕,因为git本地保存了一个仓库镜像,所以你的所有操作都是对本地这个仓库进行操作的。这么理解就非常方便了。

git directory 经常被称为HEAD,就是当前的工作的分支,以后会经常遇到HEAD这个词。

这里也可以这么理解,就是git的本地仓库分为三颗“树”,一个是工作目录,一个是暂存区,成为索引区,记录下一次提交到仓库的文件,还有就是HEAD了,相当与仓库的本地备份。


2. git安装


这个是很简单的问题,请参考:http://yunsim.com/ch1-4.html


3. git基本配置

基本上需要配置的就是用户名以及邮箱,用来在提交代码的时候记录用户信息。
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

github上的设置请参考:http://blog.csdn.net/weixingstudio/article/details/8453465
按照上面的说明就能完成github的基本配置。
然后利用git config --list命令查看git 配置是否正确:
watkins@watkins:~$ git config --list 
user.name=weixingstudio
[email protected]
credential.helper=cache --timeout=7200
github.user=weixingstudio
crediential.helper=cache
watkins@watkins:~$ 


其他的配置信息可以省略,也可以根据自己需求进行配置。

你可能感兴趣的:(虚拟项目学习git/github原理与基本操作1)