漫谈GIT代码托管<转载>
[漫谈GIT代码托管]
一.代码托管
1.代码托管简介
代码托管起源于开源软件,代码托管可以让软件开发者关注于软件本身,不用过多的考虑服务器的可用、数据的备份等繁琐复杂的事情,所以大多数代码托管平台都要求托管的代码是开源的,由于代码托管平台的使用越来越广泛,安全性稳定性可用性都超过了自建的系统,所以开始有一些私有项目托管的需求出现,以至到现在的收费服务。
一般来说,由于代码托管平台的各种优势,个人和小团队开发的,较小的保密等级较低的或根本就是开源的项目都可以考虑使用代码托管。
2.常见的代码托管平台
平台 SCM类型 著名项目 私有项目 简介
SourceForge SVN/Mercurial/Git FileZilla/7-Zip/TortoiseSVN 不支持
技术服务发展较慢
Google Code
SVN/Mercurial/Git
GoAgent/Fcitx
不支持
google已经战略放弃,命运类似Reader
GitHub
Git
Node.js/jQuery/rails
收费
web项目较多,主要面向普通用户,发展最快
Bitbucket
Mercurial/Git
免费5-8,更多收费
主要面向企业客户,母公司Atlassian开发有SourceTree软件
Gitshell
Git
支持私有和半公开
国内小众社区
CSDN CODE
Git
支持
GitCafe
Git
支持
JDcode
Git
支持
京东出品
简单比较的结论,GitHub和Bitbucket是相对较好的选择,稳定速度快,技术服务较全,如果想免费使用私有项目,Bitbucket是最佳选择了。
3.Bitbucket简介
(1)免费用户只支持最多5个私有项目,通过邀请可以再增加3个。
(2)免费用户每个项目最多5个成员。
(3)免费用户最大空间容量1GB,没有特别限制。
(4)页面操作部分支持中文。
(5)Bitbucket母公司Atlassian开发的Git图形软件SourceTree功能非常强大。
二.scm工具比较
1.常见的scm系统
(1)Microsoft VSS,仅用于Windows,速度慢。
(2)CVS,最早的scm系统,缺陷很多,已经淘汰了。
(3)SVN,非常优秀的scm系统,除了中心化之外,没有太大的缺陷,所以现在仍被SourceForge和Google Code支持。
(4)Mercurial,起源于Linux内核代码托管的BitKeeper开始收费,由python开发,命令较为简单,各平台支持较好。
(5)Git,同样起源于Linux内核代码托管的BitKeeper开始收费,由Linus亲自发起设计并完成最初的代码,完全由C语言开发,有一定的开源原教旨主义思想,主要支持Linux,命令多而且较为复杂,Windows平台的客户端需要靠Cygwin等模拟。
总的来说,Mercurial 和Git是分布式scm系统,与其他系统是代差级别的区别,代表着未来的方向。由于Git有大神Linux坐阵,使用Git的项目更多名气更大,包括Android, PHP, GTK+, GNOME, GIMP, jQuery, Qt。
2.分布式scm
(1)分布式scm可以没有中心服务器,本机也是一个仓库中心,所以你可以任意次数的提交,并且随意删除一些不需要的中间版本和提交日志。
(2)分布式scm可以互相连接,中心宕机或者网络等原因不可用时,也可以从其他用户那里获取最新的数据,或者某个节点主动成为中心,也不用再考虑备份中心服务器。
(3)分布式scm,方便创建本地分支,不影响其他用户,分支的合并与修改都更方便。
三.Windows下Git客户端安装
1.配置Mingw/Cygwin在Windows下模拟Linux环境,然后通过源码安装
2.安装msysGit,自动安装Mingw和编译好的Git程序,还附带一个简单的Gui工具
四.Windows下Git图形软件
名称
支持平台
简介
msysGit
Windows
Git官方推荐的Windows系统Git客户端,是很多Git客户端的基础
TortoiseGit
Windows
SVN最优秀的客户端工具TortoiseSVN的Git版本,需要先安装msysGit,优点是简单直观容易理解,和Windows系统深度整合,缺点是太像TortoiseSVN了,但Git和SVN的思想是不一样的,用牛肉烧红烧肉的感觉,熟悉的味道,怪怪的感觉。
SourceTree
Mac/Windows
Bitbucket母公司Atlassian的产品,支持Git和Mercurial,可以直接连接Bitbucket, Stash, GitHub几家的账号,或任意Git仓库,强大的工作流图。
GitHub
Mac/Windows
GitHub官方的客户端,内置msysGit,优点是和GitHub完美整合,缺点是只支持GitHub的仓库。
综合来说,SourceTree功能全面强大,跨平台,毕竟Atlassian是面向企业用户的。
五.Git基本操作
1.本地项目仓库初始化
git init,会在本地目录创建一个”.git”的目录,同时也创建了本地仓库。
2.连接远端仓库
git remote add origin ${romote_repo},让本地仓库和远端仓库产生关联,但此时并不会做任何同步
3.断开远端仓库
git remote rm origin,主要的功能是切换远端仓库。
3.获取远端数据
git pull origin master,从远端仓库获取更新。
4.提交修改到本地
git commit –m “${comment}”,只是提交到本地仓库,并不影响远端仓库。
5.同步本地修改到远端仓库
git push origin master,讲本地仓库的修改和日志同步到远端。
共同学习,写下你的评论
评论加载中...
作者其他优质文章