Giter Club home page Giter Club logo

grunt-git's Introduction

grunt-git

Git commands for grunt.

Build Status

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-git --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-git');

The "gitcommit" task

Commits the working directory.

Overview

In your project's Gruntfile, add a section named gitcommit to the data object passed into grunt.initConfig().

grunt.initConfig({
  gitcommit: {
    your_target: {
      options: {
        // Target-specific options go here.
      },
      files: {
          // Specify the files you want to commit
      }
    }
  },
})

Each target defines a specific git task that can be run. The different available tasks are listed below.

Options

options.message

Type: String Default value: 'Commit'

The commit message.

Usage Examples

Commit options:

  • message: Commit message
  • files: Files to commit
grunt.initConfig({
    gitcommit: {
        task: {
            options: {
                message: 'Testing'
            },
            files: {
                src: ['test.txt']
            }
        }
    },
});

The "gittag" task

Creates a git tag.

Overview

In your project's Gruntfile, add a section named gittag to the data object passed into grunt.initConfig().

grunt.initConfig({
  gittag: {
    your_target: {
      options: {
        // Target-specific options go here.
      }
    }
  },
})

Each target defines a specific git task that can be run. The different available tasks are listed below.

Options

options.tag

Type: String Default value: ''

The name of the tag. E.g.: 0.0.1.

options.message

Type: String Default value: ''

The tag message (optional).

Usage Examples

grunt.initConfig({
    gittag: {
        task: {
            options: {
                tag: '0.0.1',
                message: 'Testing'
            }
        }
    },
});

The "gitcheckout" task

Creates a git branch using checkout -b, or checks out a given branch.

Overview

In your project's Gruntfile, add a section named gitcheckout to the data object passed into grunt.initConfig().

grunt.initConfig({
  gitcheckout: {
    your_target: {
      options: {
        // Target-specific options go here.
      }
    }
  },
})

Each target defines a specific git task that can be run. The different available tasks are listed below.

Options

options.branch

Type: String Default value: ''

The name of the branch. E.g.: testing.

options.create

Type: Boolean Default value: false

Whether the branch should be created (optional).

Usage Examples

grunt.initConfig({
    gittag: {
        task: {
            options: {
                branch: 'testing',
                create: true
            }
        }
    },
});

The "gitstash" task

Creates a git branch using checkout -b, or checks out a given branch.

Overview

In your project's Gruntfile, add a section named gitstash to the data object passed into grunt.initConfig().

grunt.initConfig({
  gitstash: {
    your_target: {
      options: {
        // Target-specific options go here.
      }
    }
  },
})

Each target defines a specific git task that can be run. The different available tasks are listed below.

Options

options.command

Type: String Default value: 'save'

The stash command to run. E.g.: save, apply.

options.stash

Type: Integer Default value: ''

The stash to apply. E.g.: 0 (optional).

options.staged

Type: Boolean Default value: false

Whether the staged changes should be reapplied (optional).

Usage Examples

grunt.initConfig({
    gittag: {
        stash: {
            options: {
                create: true
            }
        },
        apply: {
            options: {
                command: 'apply',
                staged: true,
                stash: '0'
            }
        }
    },
});

The "gitclone" task

Clones a git repo.

Overview

In your project's Gruntfile, add a section named gitclone to the data object passed into grunt.initConfig().

grunt.initConfig({
  gitclone: {
    your_target: {
      options: {
        // Target-specific options go here.
      }
    }
  },
})

Each target defines a specific git task that can be run. The different available tasks are listed below.

Options

options.bare

Type: Boolean Default value: none

Run git clone with the --bare option applied.

options.branch

Type: String Default value: none

Clone the repo with a specific branch checked out. (Cannot be used in conjunction with 'bare')

options.repository (required)

Type: String Default value: none

The path to the repository you want to clone.

options.directory

Type: String Default value: none

Clone the repo into a specific directory instead of the one git decides.

Usage Examples

grunt.initConfig({
    gitclone: {
        clone: {
            options: {
                repo: 'https://github.com/you/your-git-repo.git',
                branch: 'my-branch',
                directory: 'repo'
            }
        }
    },
});

The "gitreset" task

Creates a git branch using checkout -b, or checks out a given branch.

Overview

In your project's Gruntfile, add a section named gitreset to the data object passed into grunt.initConfig().

grunt.initConfig({
  gitreset: {
    your_target: {
      options: {
        // Target-specific options go here.
      },
      files: {
        src: // Target-specific files go here.
      }
    }
  },
})

Each target defines a specific git task that can be run. The different available tasks are listed below.

Options

options.mode

Type: String Default value: ''

The reset mode to run. E.g.: hard, merge.

options.commit

Type: String Default value: 'HEAD'

Which commit to reset to (optional).

Usage Examples

grunt.initConfig({
    gitreset: {
        task: {
            options: {
                mode: 'hard',
                commit: 'HEAD~1'
            }
        }
    },
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

grunt-git's People

Contributors

figpope avatar kketch avatar mattacular avatar rubenv avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.