版本管理工具介绍-Git篇
一.版本管理工具简介
版本管理工具作用:备份文件、记录历史、可以回到任意过去一个时间点的状态。可以多端共享。
二.版本管理工具发展历史

github是程序员社区网站,在这个网站上可以拖管自已的软件库,但软件拖管是通过GIT来完成的。这个软件从2008年开始,有越来越多的开源项目放到了github上。
三.Git下载和安装
1.https://desktop.github.com/上下载一个GitHub的客户端GitHubDesktopSetup.exe
双击安装后,输入用户名密码登录,即通过GitHub Desktop工具登录成功后的主页如下:
2.Linux下安装Git环境
yum install git
四.GitHub注册和新建项目
1.github创建一个新的项目
打开GitHub的客户端可以注册github账号,注册成功后可以在客户端输入用户名和密码登录。
然后登录github官网,新建一个repository,如下所示:

创建成功后,如下所示:

2.Linux环境下检出项目到本地
git clone https://github.com/bijian1013/test.git
3.Linux环境下第一次提交项目



如果要提交到远程github上,则要执行git push命令

4.Windows下检出项目和提交项目
在github打开上面创建的test项目,点击“Open in Desktop”。

选择“打开GitHubDesktop.exe”。

弹出如下框,选择我们本地路径后,点“Clone”。

下载下来后,我们就能看到这个项目的提交记录

这里我在本地的test项目下,新增test.txt文件。

填写提交备注后,就可以提交。

然后有一个如下内容,点击可将这次修改提交到gitHub上。

成功后,可以直接在github上看到提交的文件。

五.在项目中如何协同工作
1.什么是代码冲突
简单来说,就是同一块代码,你改了,我也改了,管理工具无法裁定哪一个是要留下来的。这时就会抛出一个冲突,需要人工来介入。
2.Linux下如何解决冲突
如果文件被另一个人修改并提交了,我提交会被拒绝。

可以用git pull将远程代码更新到本地,git帮我们合并了两个有冲突的文件。

我们来打开这个文件。


手工修改后,相继执行:git add 日记,git commit,git push
3.windows下如何解决冲突
如服务器文件内容被其他同事修改提交,我也修改了这个文件,提交会提示冲突

点击“OK”,可以看到diff,需要自已手动来解决。

4.如何回到过去
git log:可以看到的交记录,选择需回退到哪次提交commit号,复制这个commit id。然后执行:git reset --hard commitID

git reflog:列出当前这个版本之前的那些版本号都是什么,找回到我们最新的样子,可以用git reset --hard 对应的commitId

5.建立里程碑
我们每次版本发布的时候,需要建立一个里程碑,将来能把一个完整的版本发布出去,也方便以后找某个版本的代码。


进入创建里程碑的页面。

填写上版本号和相应的描述后,点击“Publish release”将版本发布出去了。

在接下来这个版本,我们可以看到它放出了我们最新的release版本,如果我们项目是开源的,别人就可以通过release下载我们完整的软件。将来如果有BUG,我们也可以到这里找到当时完整的版本。
6.分支开发之分支合并
在项目中开发中,如果生产版本出现BUG,就要从发布生产的那个分支拉一下新的分支进行代码修复,然后发布。发布后再把修改的代码同步到我们正在开发的分支上。


创建好了之后,就可以看到当前的分支变成了bug_fix分支。

然后修改本地文件

然后点击“Publish branch”提交到github上

切到master分支,选择如下标红的框。


合并后点击“Push origin”提交到github。

成功后在github上可以看到master分支已合并了bug_fix分支的代码

7.分支开发之分支合并2
在bug_fix分支上修改后,提交到github上后,进入github

点击如上框红的按钮,进入如下页面

点击“New pull request”,进入如下页面,点击“Create pull request”可以把bug_fix分支合并到master分支。


提交成功后,master分支把bug_fix分支的内容合并过来了。

8.多人合作的一些经验
a.多用客户端和工具,少用命令行,除非是在Linux服务器上直接开发
b.每次提交前,diff自已的代码,以免提交错误的代码
c.下班回家前,整理好自已的工作区
d.并行的项目,使用分支开发
e.遇到冲突时,搞明白冲突的原因,千万不要随意丢弃别人的代码
f.产品发布后,记得打tag,方便将来拉分支修bug
posted on 2019-03-31 13:41 bijian1013 阅读(797) 评论(0) 收藏 举报
浙公网安备 33010602011771号