版本管理工具介绍-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

 

学习地址:https://www.imooc.com/video/4293

posted on 2019-03-31 13:41  bijian1013  阅读(797)  评论(0)    收藏  举报

导航