Ruby/Git 是一个 Ruby 库可用来创建、操作 Git 资料库。它是通过封装了系统命令调用的方式实现的。
示例代码:
require 'rubygems' require 'git' g = Git.open(working_dir, :log => Logger.new(STDOUT)) g.index g.index.readable? g.index.writable? g.repo g.dir g.log # returns array of Git::Commit objects g.log.since('2 weeks ago') g.log.between('v2.5', 'v2.6') g.log.each {|l| puts l.sha } g.gblob('v2.5:Makefile').log.since('2 weeks ago') g.object('HEAD^').to_s # git show / git rev-parse g.object('HEAD^').contents g.object('v2.5:Makefile').size g.object('v2.5:Makefile').sha g.gtree(treeish) g.gblob(treeish) g.gcommit(treeish) commit = g.gcommit('1cc8667014381') commit.gtree commit.parent.sha commit.parents.size commit.author.name commit.author.email commit.author.date.strftime("%m-%d-%y") commit.committer.name commit.date.strftime("%m-%d-%y") commit.message tree = g.gtree("HEAD^{tree}") tree.blobs tree.subtrees tree.children # blobs and subtrees g.revparse('v2.5:Makefile') g.branches # returns Git::Branch objects g.branches.local g.branches.remote g.branches[:master].gcommit g.branches['origin/master'].gcommit g.grep('hello') # implies HEAD g.blob('v2.5:Makefile').grep('hello') g.tag('v2.5').grep('hello', 'docs/') g.diff(commit1, commit2).size g.diff(commit1, commit2).stats g.gtree('v2.5').diff('v2.6').insertions g.diff('gitsearch1', 'v2.5').path('lib/') g.diff('gitsearch1', @git.gtree('v2.5')) g.diff('gitsearch1', 'v2.5').path('docs/').patch g.gtree('v2.5').diff('v2.6').patch g.gtree('v2.5').diff('v2.6').each do |file_diff| puts file_diff.path puts file_diff.patch puts file_diff.blob(:src).contents end g.config('user.name') # returns 'Scott Chacon' g.config # returns whole config hash g.tag # returns array of Git::Tag objects
在生成pod模板库是发现一个错误导致模板库生成错误: .rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require’: cannot load such file – colored2 (LoadError) 输入上面提示的colored2的两条gem命令即可解决问题 $ sudo
git clone到本地的项目,如果远程仓库更新,需要将更新取回本地,并与本地的分支合并。有两种命令可以做到: git fetch git pull 这里主要是解决fork的远程项目更新之后,如何将最新版与本地合并。不涉及到多人协作开发。 首先要将远程主机关联,需要用到git remote命令。 git remote git remote 用于管理主机名。-v可以查看主机网址。 $ git rem
需求是本地开发分支develop推到远程仓库后自动部署测试服务器。 看很多文章,讲的非常复杂。都没讲清楚架构情况。 我们的架构是,多台本地开发机器,一台服务器,服务器上跑着测试程序和gitlab。 这边文章解决的是测试端和git远程仓库在一台机器上的情况,如果是测试程序和gitlab各自一台服务器,那比较麻烦了。 1.找到项目对应的hooks文件夹 /var/opt/gitlab/git-data
欢迎访问我的个人博客网站:http://www.yanmin99.com/ GitLab 升级 502问题的解决 Error executing action run on resource ‘ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]’ 1、异常信息 resolving cookbooks for r
一、GIT安装及使用说明 1、不同系统安装git及设置 yum install git #centos apt-get install git #ubuntu #mac 安装需要两步如下: homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install
我的系统是mac,然后今天在安装eventmachine的时候发现的报了错误,安装命令为: sudo gem install eventmachine -v '1.2.7' 错误信息为: Building native extensions. This could take a while... ERROR: Error installing eventmachine: ERROR: Fa
#!/usr/bin/ruby #coding=utf-8 #执行脚本,输入git链接和需要统计的版本范围,就可得到此范围内每个author修改过的代码行数author_count Encoding.default_external = 'UTF-8' #获取当前路径并删掉换行符 path_prev = `echo %cd%`.chomp! #puts "#{path_prev}" #输入git
最近开始接触Ruby和Rails的开发,个人是一个疯狂迷恋编写代码边format的编写方式,看到摆的凌乱的代码就会有一种无法言说的焦躁感,同样的习惯被我带到了Ruby的学习过程中,可是应该如何确定Ruby源文件的format呢? GitHub公布了他们的答案: [b]Ruby Style Guide:[/b]https://github.com/bbatsov/ruby-style-guide [
修改ssh 的config配置 1.terminal 打开ssh的根目录,我这里是/Users/tianxiao/.ssh/ cd /Users/tianxiao/.ssh/ 2.配置config 将端口号改成22 vi config Host github.com User xxxx@gmail.com Port 22 Hostname ssh.github.com identityfile ~
我记得每一年技术部年会都会由老大说出一个技术主题,之前有服务化、模块化、工具化、数据化等等等等,今年的主题是全栈。遥想当年,在供职过的两家公司什么抗机器、装机架;什么安装系统、加固、搭建Web或任务应用的前后端环境、打包发布、网络配置;什么JavaScript、CSS、VB、.NET、PHP、JAVA等等语言;什么Mootools、JQuery、Ext、Lucene、Solr、Hibernate、
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java 平台)、Iron
Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言 目录结构 /usr/ruby: Ruby 二进制命令路径 /usr/lib/ruby: Ruby 扩展、依赖等目录
Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。 Ruby的作者于1993年2月24日开始编辑Ruby,直至1995年12月才正式公开发布于fj(新聞群組)。之所以称为Ruby,是因为Perl的发音与6月的诞生石pearl(珍珠)相同,因此Ruby以7月的诞生石ruby(红宝石)命名。 Ruby明显比其他类似
Ruby++ 是一个调用 Ruby API 的 C++ 接口。 It supports the development of an extension-library and Ruby embedded program.
cPanel的这个接口允许您创建和安装Ruby on Rails应用程序。 如果您开发了Ruby on Rails应用程序,则可以使用此界面将其部署到服务器。 要创建Ruby on Rails应用程序,请按照下列步骤操作 - Step 1 - 单击cPanel Home的Software Section下的Ruby on Rails。 Step 2 - 在Ruby on Rails接口中,您将找到
主要内容:Gem,gem 包的构建,修改国内源RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。 RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。 RubyGems大约创建于2003年11月,从Ruby 1.9版起成为Ruby标准库的
主要内容:环境配置,使用 Ruby 解析 JSON,input.json 文件,实例本章节我们将为大家介绍如何使用 Ruby 语言来编码和解码 JSON 对象。 环境配置 在使用 Ruby 编码或解码 JSON 数据前,我们需要先安装 Ruby JSON 模块。在安装该模块前你需要先安装 Ruby gem,我们使用 Ruby gem 安装 JSON 模块。 但是,如果你使用的是最新版本的 Ruby,可能已经安装了 gem,解析来我们就可以使用以下命令来安装Ruby JSON 模块