首页 > 代码库 > git使用入门

git使用入门

版本控制器

先看一张图感受一下:

 

之前多次遇到过这种情况,想改不敢改,怕改错。只好复制一份再改。单一的如上图的工程还好。如果遇到大型的,有各种文件的工程,就不好办了。或者多人协作开发的时候,更难控制。于是有了版本控制器这种东西。

 

一般的版本控制器是基于中央服务器的,所有的版本最终汇总到中央服务器。那么要求客户端要能连上中央服务器,而且中央服务器的压力也很大。中央服务器出现问题,项目就悲剧了。

于是有了像git这样的分布式版本控制器。

git宣称是不用联网就可以实现版本控制,一开始不理解,不用联网如何完成版本更新?其实,这里的分布式与集中式的区别,在于分布式中,每个本地机上都是完全拷贝整个项目。也就是,每个本地库都可以作为一个备份。

我们也可以考虑在Internet上建一个仓库,起到类似集中式的服务器的功能。有如github这样的网站,可以托管我们的远程库。

 

git

关于git的简史,底层架构,可见 http://blog.jobbole.com/25775/ 

这里记录一些简单的git运用命令。

 

安装:

git现在的windows有可一键安装的版本,可Google之。

 

使用:

先理清几个概念


 

工作区指本地的工作文件夹,版本库里包括stage(暂存区)与master(主分支)。

其中工作区存放文本格式文件,通过add往暂存区里加文件,再通过暂存区统一往master提交。

这里的stage作用是缓冲修改,有点像master的秘书,整理后统一commit

 

前期准备工作:

首先要建立一个存放文件的文件夹,作为上图中的工作区,并在工作区中用命令建立版本库。

在版本文件夹下,通过git shell ,键入:

git init

自动在此建立git版本库。

 

打开文件夹我们会发现文件夹下多了一个.git的文件夹。说明在此配置了一个git仓库。需要注意的是,当前文件夹下的文件并非都存于库中,只有通过git add的文件才与仓库有关系。

 

如之前图中所示,我们要把工作区中文件通过ADD提交到缓存,再通过commit提交到master主分区。

git add new.txt

git commit -m “modify the XX function”

如上,其中commit时要加注释,说明此次修改的原因。

 

还有一些简单的常用命令:

git status 查看仓库状态

git log 查看提交日志

git diff 查看当前文件与当前版本差异

git rm 从仓库中删除文件,可先通过系统-bash删除,再如此删除。

git add 加入仓库,或提交修改到暂存区

git commit 提交修改到主分支

 

远程仓库

之前的操作都是在本地仓库进行。现在我们希望在Internet上也放一个远程仓库,并且作为主仓库来管理其他仓库。也就是在Internet上放一个24小时开机提供服务仓库。我们不需要自己去建一个服务器,github等网站有提供这些服务。


常用github操作

登陆 www.github.com 注册后,新建一个远程仓库,按照提示,push上去一个本地的仓库:

git remote add origin  http://324234 #这里为远程仓库的地址

git push -u origin master

#这里的origin为远程仓库的别名,使用push命令把当前的本地仓库推到远程仓库。

再到github上就能看到更新了的仓库信息。

把远程仓库更新下来则可用pull操作。

 

同样的,我们在github上还能使用别人的仓库。

想要把别人的开源代码拿下来,首先要fock一个分支到远程仓库,使得这个库成为自己的远程库。再用clone操作,用远程库新建一个本地库。如果想要修改别人的库,需要发送一个pull require。如果对方同意,就可以合并到对方的库。