前言Git确实是一个不错的版本管理系统。这里暂时不说它的优点,网上有很多相关的资料。把这些记录下来,方便以后参考和理解。一些不错的Git学习资源Git分支管理攻略ProGit书籍Git交互学习GitHub快速入门教程专为设计人员编写列出的学习资源请移步Git安装进行安装。当然最好是安装在linux下。创建一个版本库,使用gitinit命令将你想要所在的当前目录变成一个Git可以管理的仓库;在当前目录下,可以看到.git目录。一般当你要将新写入的文件添加到仓库管理时,使用命令gitaddyoufile将上面添加到仓库的文件提交到仓库,使用命令gitcommit-m"你的注释信息";注意:记得在-m参数后面填写你修改的注解,方便其他开发者阅读。gitstatus命令可以随时查看仓库当前的状态,比如哪些文件发生了变化,哪些已经提交,哪些文件没有被跟踪。操作远程仓库,一般可以搭建一个自己运行的Git服务器。如果没有条件,就用Github网站,一个提供仓库托管服务的网站。这里可以把Github理解为一个Git服务器,但是它并不免费提供私有仓库。所以,如果你的项目不是公开的,要么付费,要么自己搭建一个Git服务器。话不多说,先在上面注册一个账号,我的账号,然后你“Createanewrepo”新建一个仓库(我的新仓库COS-IIAPP),按默认设置即可。关联您的本地存储库。注意:本地仓库的名称最好与Github上新建的仓库名称一致。在本地仓库所在目录运行命令:$gitremoteaddorigingit@github.com:yourcount/hello-world.git其中origin为远程仓库将本地仓库的所有内容推送到远程仓库$gitpush-uoriginmaster当然,如果你在本地创建了其他分支(不知道什么是分支?别着急,先看看我后面介绍的分支),你也可以推送,把master改成您要推送的分支的名称。也可以从远程库clone到本地库,效果是一样的。好了,恭喜你,你现在可以看看你的github是不是和你本地的项目一样了!该死!不??,好吧,忘了下一步。创建SSHKey顺便说一句,在这之前你需要创建一个SSHKey,因为你本地的Git仓库和GitHub仓库之间的传输是通过SSH加密的。$ssh-keygen-trsa-C"youremali.com"并行开发Git的强项在于多人联合开发。现在假设你的另一个成员一起在分支dev开发一个项目。他使用gitclonegit@github.com:guxiaole/COS-IIAPP.git命令克隆到他的本地仓库。他要创建远程origin的dev分支到本地,使用这个命令gitcheckout-bdevorigin/dev;他很厉害,很快就在dev分支上萌生了一个绝妙的idea,推到远程库gitpushorigindev后,看苍老师的电影很开心;这个有时候,你在dev上加班加点痛苦修改,等你终于搞定了,再尝试push到远程库,这时候就会提示错误。.曹,那小子比我还快!原因:推送失败,因为远程分支比本地更新。解决方法:先用gitpull尝试合并;注意:如果gitpull提示“无跟踪信息”,说明本地分支与远程分支的链接关系还没有建立。使用命令gitbranch--set-upstreamdevorigin/dev进行合并,如果有冲突,解决冲突,提交到本地;如果没有冲突或者冲突解决后,使用gitpushorigindev推送分支。该操作默认为master初始分支。一般比较稳定的项目版本都在这个分支上。一旦开发成熟其他功能的Otherfunction分支,测试稳定后,与该分支合并。现在需要和其他成员一起开发一个新的功能,一般新建一个分支,然后愉快的修改提交就可以了。当然,此时还没有和主分支合并。这时候突然有人反馈说你发布的稳定版master有bug,需要修复。这时,停止手边的dev分支;去主分支。新建一个bugfix分支,修改并提交bug,合并到主分支,返回dev分支,继续工作,发现dev的新功能完成,合并master分支顺便忘记了此时可以删除bugfix分支。另外,当手头的工作没有完成时,先gitstash工作现场,然后修复bug。fix之后再gitstashpop,回到工作现场总结一下最常用的Git命令。更新它。.当然,如果你想吃透git的原理,还是要系统地阅读相关书籍。
