基于Git版本管理系统的简单教程
Git可能有的程序员或者系统管理者还不知道,但是在开源界他可是个超男,火爆的很。他是linux他爸Linus Torvals为了更好的维护linux源代码搞的,他能搞出linux那么牛B的东西,Git肯定也不再话下, Git主要是分布式版本管理系统,速度贼快,与Subversion和CVS不同,他不需要一台中央服务器,各个repository节点对其clone的那个节点负责,有点p2p的性质,因为肯定有个repository节点是所有其他子孙节点的祖宗,所以最终各节点所管理的内容都能够同步到祖先节点,中间的开发维护过程你就可以在断网、移动开发等任何情况下进行,当你决定合并的话只需push就可以了,老纪以前使用过CVS和Subversion,觉得Git比他们多出的内容就是多了两个命令push和pull,pull是从你的父节点把其更新的内容弄下来,push是你把你更新的内容提交上去。
老纪因为有两个项目要维护,但是一会在家办公一会在公司办公,数据同步是个问题,既然买了Linode VPS就不能让他闲着浪费,也正好试试Git怎么样,安装了Git后参考了一下Git的手册总结出一个使用ssh的Git简单教程,这样既不用开放其他端口也达成了同步项目的目录,自己感觉还是比较满意的。多说无益,现在就动上手
- 服务器端Git设置
- 客户端操作
1 2 3 4 5 6 7 | aptitude install git-core #到你工作目录建立项目目录 cd ~ mkdir project.git && cd project.git #初始化只有.git内容的repository git init --bare #至此你服务器上的设置已经完成 |
Git的window客户端?Git没有什么客户端之说,不过如果你想做一个供老多老多人共同使用的仓储库的话他就有,不过目前我还没接触呢,现在我这个配置够几个人用了。到http://code.google.com/p/msysgit/downloads/list下载windows能用的Git并安装,它包括了一个小的linux/unix环境,足够维护你的项目使用,安装后可以直接运行桌面上的Git bash,如果你有点linux基础或者命令行的基础就什么都不怕
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #在你已有的项目目录初始化本地Git仓储库,比如d盘的project目录 cd /d/project git init #与远程库,就是我在linux上建的那个,看到了,我用的是ssh链接,安全有了保证 #poject 是我在本地库为远程库建的一个标识,user是我在linux上维护项目的用户名 git remote add project ssh://user@www.remotehost.com/home/user/project.git #给你自己起个名 git config --global user.name "zhangsan" git config --global user.email "zhangsan@gmail.com" #现在配置完成了,开始把你的项目提交到远程库了 #首先把要维护的文件添加上 git add . #提交内容,提交后的内容还在本地库,这就是和cvs和subversion不同的地方,也是git实现分布式的关键 #只有你才能决定什么时候把内容提交到远程库 git commit -m "....." #现在你决定要把本地修改的内容合并到远程库了 git push #在另外一端,比如家里,克隆下载远程库 git clone ssh://user@www.remotehost.com/home/user/project.git cd poject #配置下设置 git remote add project ssh://user@www.remotehost.com/home/user/project.git #给你自己起个名 git config --global user.name "zhangsan" git config --global user.email "zhangsan@gmail.com" #那么你就可以随便玩了,要记住在每次push之前先pull下,更新一下本地内容 git pull |
好了,Git基本教程(最好一个人在不同地方使用)就完成了,更深一步的教程和里面的原理等老纪好好研究Git之后再逐步提供。
作者:老纪
原载:老纪博客版权所有。转载时必须以链接形式注明转载自老纪博客 [http://www.jifuyi.com/]。
本文链接地址:http://www.jifuyi.com/git-cvs-tutorial/
老纪,一个三十好几的老程序员,不知不觉蹉跎了不少岁月,心中曾有的萌动没有一丝的记忆,所以现在能记的就记,能写的就写。软件的开发、技巧,互联网的时讯、要闻,新科技的发展、评论,个人的感悟、随想就统统的让它跃然于老纪博客上。