你是ABAP开发者?你用abapGit吗?

看到这个问题,读者也许会想,什么是abapGit?就让我们从这个问题开始。简单地说,abapGit是一个以ABAP写成为ABAP服务的Git客户端。

有的读者可能依然感到困惑:什么是Git呢?这可能已经超出了本文的话题范围,请移步Google进行了解..

那么让我假设你在搜索之后已经返回了本文。Git是当代开发者的工具的基础部分,在我看来,在2017年的现在忽略它是不现实的。

本文链接:http://www.cnblogs.com/hhelibeb/p/7735421.html

原文标题:abapGit – so easy

回到主题,abapGit是一个开源项目,它由Lars Hvam发起,基于MIT许可证。

在本文撰写时,abapGit项目已经有30位贡献者,过去5个月中有超过500次commit,可见它是一个活跃而有生气的项目。也许看完本文后,你也会希望成为其中的一名贡献者,让项目变得更加壮大和优秀。

abapGit的设计目标之一是它应当“小型化”。这对很多人有着重要意义。其中之一即是,它会是迄今为止最易于安装的ABAP项目!没有传输,没有多个步骤,没有预安装,没有文件上传,没有补丁,不需要加载项。只要简单的将代码复制粘贴到你的ABAP开发系统系统里,然后激活它。

就像这样(视频来自youtube..):

安装完成后,你想做的第一件事大概就是连接GitHub,以保持你的abapGit代码是最新的。耶——这是个惊人的想法不是吗?我们可以在在自己喜欢的任何时间拉取abapGit项目的最近版本。Kapow! Take that CTS!(??) abapGit也有后台模式,所以你可以自动地完成更新任务。

你很可能希望为你的仓库使用Github。GitHub是当前最流行的Git托管平台,它免费,并且其中还包含某些极好的ABAP开源项目,比如abap2xlxs

abapGit需要使用TLS与GitHub连接。这意味着我们必须在ABAP系统中通过事务STRUST安装某些些根证书。abapGit安装文档可以告诉你如何获取并安装这些证书。也有一个简单的测试程序帮助你确保连接Github成功。

如果你想要将abapGit连接到其它Git服务器,它们可能也会强制你使用TLS,因此你需要安装其它根证书,具体的根证书取决于他们的CA。

所以现在已经搞定了,让我们看看我们怎样连接到GitHub上面的abapGit仓库,以保持自己安装的abapGit是最新的。有一个向导可以帮助你。

当abapGit第一次运行的时候,它会给你一个abapGit教程页。你也可以通过菜单Help->Tutorial来找到它。点击“install abapGit repo"链接来启动连接过程。会出现提示,要求你确认安装到$ABAPGIT包中。abapGit连接Git仓库(repo)和ABAP包(package)。因此我们需要将abapGit本身存储在一个本地包中——在本例里面是$ABAPGIT。还会出现提示询问你是否要覆盖刚刚创建的ZABAPGIT程序,选择“OK"。激活所有abapGit组件,就可以完成了。视频:

为完成这篇文章,让我举个能让你理解abapGit是如何改变ABAP开发者的工作的例子,带你经过一个简单的场景。我们需要以clone一个到ABAP包里作为开始。我会使用到我最近的一段有关构建Gateway Service的示例代码,代码在这里:https://github.com/grahamrobbo/teched16_example.

视频如下:

看看它有多简单,几个点击就可以从GitHub拉取所有的ABAP代码到一个我在abapGit界面中创建的包里,并且激活了所有的的东西。Kapow!

现在注意,我想我的代码需要点重构了,我决定删掉接口ZIF_GW_METHODS,因为我忘记这个东西在哪里能用到。我因此丢掉了重要的代码,程序遭到了破坏,而我无法激活任何东西。Arrrggghhhh...我想我只能登陆生产系统,复制粘贴旧版的代码,然后从头开始——假设我还能记住自己做过的修改的话。

或者——我可以只是刷新我的包为上次commit到GitHub repo的状态。并且因为我“commit early and commit often”,我并没有因此丢掉我的工作进展。视频:

Kapow!

这只是将Git引入到ABAP开发者工具中的好处之一。

Thankyou SAPlink

abapGit简介与教程的更多相关文章

  1. CUBRID学习笔记 1 简介 cubrid教程

    CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...

  2. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

  3. SQL[连载1]简介

    SQL[连载1]简介 SQL 教程 SQL 是用于访问和处理数据库的标准的计算机语言. 在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:MySQL.SQL Serve ...

  4. [转载]MongoDB C# 驱动教程

    本教程基于C#驱动 v1.6.x . Api 文档见此处: http://api.mongodb.org/csharp/current/. 简介 本教程介绍由10gen支持的,用于MongoDB的C# ...

  5. 【Java】Java Servlet 技术简介

    Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创 ...

  6. Webpack新手入门教程(学习笔记)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } ...

  7. Dom 简介

    HTML DOM 简介 DOM 教程 DOM 节点 HTML DOM 定义了访问和操作 HTML 文档的标准. 您应该具备的基础知识 在您继续学习之前,您需要对以下内容拥有基本的了解: HTML CS ...

  8. 图文教程:在Mac上搭建Titanium的iOS开发环境

    http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS ...

  9. Batch入门教程丨第一章:部署与Hello World!(上)

    Batch入门教程 在本教程中,您将了解并学习与Windows Batch有关的知识和编程方法,用以解决在日常生活中所遇到的简单问题,或者利用Windows Batch建立一个最初级的编程思维方式. ...

随机推荐

  1. 201521123101 《Java程序设计》第13周学习总结

    1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 te ...

  2. layer子层给父层页面元素赋值,以达到向父层页面传值的效果

    父层: jsp中: //页面上添加一个隐藏的输入框待用于被子层设置value,从而将子层的数据传递到此页面 <input type="hidden" id="get ...

  3. jz2440重新分区

    在购买开发板的时候,板子上已经烧写好了bootloader.内核和文件系统.但是在具体使用时,发现板子上划分的内核分区只有2M,但是我编译出来的内核大于2M,于是将内核烧写到nandflash上面时会 ...

  4. CSS的常用属性

    刚开始学习前段的我,还处于初级阶段,一些东西还是会有搞不明白的时候,还是要大家多多理解.今说就一些关于CSS的常用属性吧! 一.CSS常用选择器 CSS选择器应该说是一个非常重要的工具吧,选择器用得好 ...

  5. Ubuntu16.04.1上搭建分布式的Redis集群

    为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...

  6. 走进Node.js 之 HTTP实现分析

    作者:正龙(沪江Web前端开发工程师) 本文为原创文章,转载请注明作者及出处 上文"走进Node.js启动过程"中我们算是成功入门了.既然Node.js的强项是处理网络请求,那我们 ...

  7. 使用百度ueditor的插件使得代码高亮显示

    一.在show.html模板中,引入ueditor的插件,并调用 <link rel="stylesheet" href="__ROOT__/Data/uedito ...

  8. MyBatis注解select in参数

    /** *  * @param ids '1,2,3' * @return */ @Select("select * from user_info where id in (${ids})& ...

  9. Mysql配置文件my.cnf详细说明

    [表名大小写配置] MySQL在Linux下数据库名.表名.列名.别名大小写规则:  1.数据库名与表名是严格区分大小写  2.表的别名是严格区分大小写  3.列名与列的别名在所有的情况下均是忽略大小 ...

  10. 705. New Distinct Substrings spoj(后缀数组求所有不同子串)

    705. New Distinct Substrings Problem code: SUBST1 Given a string, we need to find the total number o ...