本文是根据慕课网《版本管理工具介绍—Git篇》学习整理的笔记。
1.版本管理工具初探
1)备份文件,每一次提交代码都备份一次文件。
2)记录历史;
3)回到过去;
4)多端共享;
5)独当一面,一个人也可以通过版本管理工具实现软件开发。
6)团队协作,可用于整个团队开发。
2.工具的历史

1)集中式:将修改提交到一个中心服务器上,必须联网才能进行;
2)分布式:可以在本地快速提交,联网后再提交到服务器上。
3.如何做个英雄
1)windows版本Git的安装:在github主页上下载安装
2)Linux环境Git的安装:使用软件包管理器yum,命令为yum install git
3)Git的注册:在github主页上注册
4)创建一个新的项目:在github主页上 -> new repository

5)Linux环境下检出项目到本地: github上clone URL -> linux环境上:git [clone URL]

6)Linux环境下第一次提交项目。用到的命令主要有:
git status (查询状态)
git add (对文件添加追踪)
git commit (提交)
git push (发布,同步到github服务器上)
7)Windows上检出项目、提交项目
i)在github主页上clone到本地;

ii)git客户端上右击repository -> open in explorer;

iii)修改文档之后,git客户端上commit;
iv)sync,同步到github上。
4.和其他英雄一起工作
1)代码冲突
i)Linux环境上:git pull -> 人为修改有冲突的代码 -> 提交修改 -> git push(push到github上)
ii)windows环境上在git客户端操作,步骤类似。
2)回到过去,返回未来
i)Linux环境回到过去:git log -> 复制过去的commit ID -> git reset –hard [commit ID]
ii)Linux环境返回未来:git reflog -> 复制未来的commit ID -> git reset –hard [commit ID]
windows环境下步骤类似。
3)建立里程碑,发布版本。在github主页上点击release,然后做相应的操作。

4)分支开发、分支合并
步骤:创建分支 -> 在分支内修改代码 -> 发布代码 -> merge到其他分支上。
在git客户端上点击分支 -> 点击manage

在修改过代码的分支“Bug”拖到“Merge”下的左侧框子,将需要merge in分支“master”拖到“Merge”下的左侧框子,点击merge。

5)关于多人合作的经验
用客户端和工具,减少工具学习代价,方便工作。
提交之前要检查diff
下班之前整理好自己的工作区
并行项目要分支开发
发生代码冲突要先搞明白冲突的原因
产品发布记得要打tag
欢迎大家访问我的博客:http://www.dzwanli.com.cn/

网友评论