Sha256: 76286e443b97cab7cc7516b85bdd0c259bbea4fa5dfefed36550b3a5fc49b587

Contents?: true

Size: 854 Bytes

Versions: 1

Compression:

Stored size: 854 Bytes

Contents

require 'lgit/version'

module Lgit
  ###
  # Git related class
  class Git
    def refresh_base(base = 'master')
      `git checkout #{base}`
      `git pull`
    end

    def get_branch
      `git name-rev --name-only HEAD`.strip
    end

    def create_branch(name)
      return unless name

      refresh_base
      `git checkout -b #{name}`
    end

    def rebase(base = 'master')
      refresh_base base
      `git checkout - `
      `git rebase #{base}`
    end

    def delete_branches
      `git fetch -p`
      `git branch -vv`
        .split("\n")
        .reject { |branch| branch.start_with?('*') }
        .select { |branch| branch.include?(': gone]') }
        .map! { |branch| branch.match(/^\s+(.*?)\s/)[1] }
        .each do |branch|
          `git branch -D #{branch}`
          puts "#{branch} deleted"
        end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lgit-0.3.0 lib/lgit.rb