由于之前已经实际使用了SVN和github,并在上周上课的过程中听了两位同学介绍了关于SVN和GitHub的使用教程,在廖老师的介绍下,并搜索有关的资料,对几种代码托管软件进行了使用,在使用过程中有以下的体会:(对文中所引用的使用教程的博友们表示感谢)
版本控制系统的发展过程:单机版本控制系统(offline) ——集成式版本控制系统(online)——分布式版本控制系统(offline/online)
集成式版本控制系统:cvs、svn都是这类。适合多人协作开发,项目仓库放在一个远端服务器上,服务器中保存所有的历史版本,每个人本地工作仓库只是远端服务器上该项目的一个版本。这也意味着,大部分操作都得在联网状态下才能进行,包括提交、更新、回滚等操作。而且在这种方式下,一旦远端服务器上的数据受到毁灭性破坏,那么这种破坏将是不可恢复的。
分布式版本控制系统:git。git中也有本地仓库和远端服务器仓库的概念。但是git中的本地仓库与远端服务器上的内容没有差别,也保存所有的版本历史。这也就意味着大部分的操作都可是离线状态,而且即使远端服务器上的数据损坏了,也可以通过本地数据來恢复。
1.github
git入门书籍:http://progit.org/book/,英文版。
git中重要的概念:
工作目录(working directory):在工作目录中修改文件,修改后的文件状态是modified,新添加的文件是untracked,通过git add命令将文件保存到staging area中;
staging area:保存下次即将提交到git repository中文件的snapshot。文件状态是staged,通过git commit命令提交文件到git repository中;
git repository:本地仓库。通过git push命令更新远端服务器仓库,通过git pull命令更新本地仓库。
在github官网注册账号,并按照同学介绍的进行网页上代码托管,并上传了一个测试项目在github上。在网上搜索资料时,也发现git也有一个本地的客户端,于是尝试着使用git客户端。
在本机上安装git,使用github充当远端服务器,托管本地代码。
搜索了一些git的命令:
git config :配置git
git add:更新working directory中的文件至staging area。git add .更新所有的文件
git commit:提交staging area中的文件至git repository中。git commit -m ‘message‘
git status:查看状态
git diff:查看改动情况
git remote:查看远端服务器别名,加上-v显示url信息
git remote add server_url local-alias:添加远端服务器
git clone project_url local_alias:拷贝项目到本机中
git push server_url/local-alias:更新远端服务器仓库
git pull server_url/local-alias:更新本地服务器仓库
2.git.oschina.net
具体使用学习了http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9 ;
使用git上传本地项目到http://git.oschina.net
http://www.ithao123.cn/content-2438206.html
3.coding.net
使用过程:
http://wenku.baidu.com/link?url=R-Ti_7_Ld2Zp4-2b7Z651d2r45mPeervNYSaGTagqJ5rsx-zxfE3k1zJ6h8-_VIrssKS_5211pQJ1f1o3Pki77tx8Jay-WTpn83cNUzdOw7
4.国内代码托管工具
http://blog.csdn.net/huobing123456789/article/details/38927661