Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.
分布式和集中式(eg:svn)的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库。
特点就是本地提交这一步,这样就使每个用户都是git服务器。
Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1:从服务器上克隆数据库(包括代码和版本信息)到单机上。
2:在自己的机器上创建分支,修改代码。
3:在单机上自己创建的分支上提交代码。
4:在单机上合并分支。
5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6:生成补丁(patch),把补丁发送给主开发者。
7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
git 结果层次图如下:
<a href="http://s3.51cto.com/wyfs02/M00/49/BD/wKiom1QZlWGyPTGxAADqrDRk-Xk080.jpg" target="_blank"></a>
下面先演示个例子;
安装后,右键GitBash;这里以github为服务器,需要先去申请一个帐号;
1、右键GitBash界面如下:
<a href="http://s3.51cto.com/wyfs02/M02/49/B6/wKioL1QZTpTy00HPAACgWmEIpO0337.jpg" target="_blank"></a>
2、设置全局信息,个人的用户名及邮件地址
1
2
3
4
5
<code>leo@LEO-PC </code><code>/D/User/leo/Desktop</code> <code>(master)</code>
<code>$ git config --global user.name </code><code>"lansgg"</code> <code>#用户名改成你自己的</code>
<code>$ git config --global user.email </code><code>"[email protected]"</code> <code>#邮件地址也是</code>
3、将github服务器上我的代码clone下来;我的代码项目为test,clone地址见下图红线,我的项目里面本来就有两个文件
<a href="http://s3.51cto.com/wyfs02/M02/49/B4/wKiom1QZUEzBbxANAAF2hmkXLhk880.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M02/49/B4/wKiom1QZUKexYwr1AAFMDYB_evA090.jpg" target="_blank"></a>
4、进入该test目录,本目录已经是git repository (本地仓库);
6
<code>$ </code><code>cd</code> <code>test</code><code>/</code>
<code>leo@LEO-PC </code><code>/D/User/leo/Desktop/test</code> <code>(master)</code>
<code>$ </code><code>ls</code>
<code>README hello.rb</code>
可以看到我线上仓库的两个文件
5、随便新建一个文件
<code>$ </code><code>touch</code> <code>test</code><code>.</code><code>file</code>
<code>$ </code><code>echo</code> <code>"this is a test file "</code> <code>> </code><code>test</code><code>.</code><code>file</code>
6、将文件添加到上传队列;加入staging area
<code>$ git add </code><code>test</code><code>.</code><code>file</code>
7、缓存提交,引号中的是对本次提交的描述,必须填写,不能为空;将staging area 提交到repository
<code>$ git commit -m </code><code>"test commit"</code> <code>test</code><code>.</code><code>file</code>
8、将代码push到线上repository
<code>$ git remote add origin https:</code><code>//github</code><code>.com</code><code>/lansgg/test</code><code>.git </code><code>#此为我们刚才clone的url </code>
<code>$ git push origin master </code><code>#会需要你输入你的github帐号和密码</code>
<a href="http://s3.51cto.com/wyfs02/M02/49/B5/wKiom1QZVejiT3DFAAHfrL1bwuk037.jpg" target="_blank"></a>
9、现在看看线上仓库
<a href="http://s3.51cto.com/wyfs02/M01/49/B5/wKiom1QZVkuCJYmIAAEwoFghcoc602.jpg" target="_blank"></a>
同步成功;
本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1554530