GIT学习笔记
一、为何进行代码管理
1、保存历史版本
之前我们对历史版本的保存都是直接拷贝一份,存放在硬盘中,这种方法即占存储空间又不利于管理。
2、开发流程控制
当老的程序出现问题,同时我们又急着创建新的功能时,我们可以使用代码管理工具创建一个新的分支来实现新功能,同时在另外一个分支修改bug,最后merge到主的分支上。
3、团队合作
使用代码管理工具进行团队的合作开发,有利于代码的整合以及分工。
二、为何使用Git
目前市场上主流的代码管理工具主要集中式和分布式代码管理两种,其中集中式以SVN为代表,分布式以Git为主。
2.1集中式代码管理
集中式代码管理的流程:
开发者从服务器下载最新的代码à进行开发,正常过几个小时开发者就会提交自己这段时间内修改的代码,在上传过程解决冲突
集中代码管理的优缺点分析:
优点:集中式服务器更能保证安全性。便于管理,逻辑明确
缺点:服务器压力大,如果不连接到服务器上基本不能工作。
2.2分布式代码管理模式
2.3分布式代码和集中式的区别
分布式代码管理器在从服务器端下载的版本库在本地也克隆了一份。这样开发者在没有网络的情况下也能进行代码的提交,只不过是提交给 本地的版本库,再有本地代码库提交到服务器端的版本库
三、Git的环境配置(windows环境)
3.1下载并安装git
目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的。安装过程比较简单,直接安装即可。安装完后启动可以看见如下的界面
3.2建立本地版本库
1)配置git使用者的身份
git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:这个命令是配置Git的全局用户信息,你每次代码提交都 会有记录,这样便于团队合作中的管理。
2)创建本地版本仓库目录
我们假设将git仓库目录放在E盘的One目录下,可以通过在gitbash中执行以下命令完成:
cd \e
mkdir One
3)建立项目
4)代码本地提交
由分布式代码管理的图可以看出代码的提交主要分为两个步骤,一是add到缓存区,而是commit到仓库。在这个过程中我们可以用git status 来查看状态
Add前
执行 git add命令之后
执行git commit 之后
到目前为止本地的仓库配置都已经完成了,现在就是开始和远程服务器端进行连接了。
3.3本地创建密匙
1)密匙生成
在git bash中执行以下命令创建密钥:
ssh-keygen -C'Mc.Test@gmail.com' -t rsa
一路按Enter键即可,当然如果你想选择使用密码功能,那么在提示输入密码是选择你自己的密码。
2) github密匙配置
找到刚才生成的密钥(id_rsa.pub)文件并用文本编辑器打开,然后复制里面的内容。接着转到github站点项目编辑(edit),找 到”Deploykeys“选项后点击”add another deploy key“并将刚才复制的内容黏贴保存。或者将其放在github的setting中的SSH Keys里面,如图所示
3)测试SSH连接。在git bash中执行以下命令:
SSH -tgit@github.com
3.4创建服务器端版本仓库
要想将本地的git项目提交到github我们需要先在github添加此项目,登入github主页点击“create anew one"根据提示完成项目创建。刚创建 好的项目不包含任何文件,我们需要稍作设置后方可使用。
3.5 上传本地到服务器端
如果上面的测试无错,那么现在就可以将本地的文件提交到github仓库了。在git bash中执行以下命令:
git push originmaster
事先需执行git pull 命令,见http://blog.csdn.net/chain2012/article/details/7476493
四、参考文献
1、http://hi.baidu.com/cloud_idea/item/3404801bb209b9c638cb3050
2、 http://marklodato.github.io/visual-git-guide/index-zh-cn.html
3、http://www.cnblogs.com/mengdd/archive/2013/04/09/3009402.html