Git commands for grunt.
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-devOne the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-git');Commits the working directory.
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.
Type: String
Default value: 'Commit'
The commit message.
Type: Boolean
Default value: false
When true, the task will not fail when there are no staged changes (optional).
Commit options:
message: Commit messagefiles: Files to commit
grunt.initConfig({gitcommit: {task: {options: {message: 'Testing'},files: {src: ['test.txt']}}},});Creates a git tag.
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.
Type: String
Default value: ''
The name of the tag. E.g.: 0.0.1.
Type: String
Default value: ''
The tag message (optional).
grunt.initConfig({gittag: {task: {options: {tag: '0.0.1',message: 'Testing'}}},});Creates a git branch using checkout -b, or checks out a given branch.
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.
Type: String
Default value: ''
The name of the branch. E.g.: testing.
Type: Boolean
Default value: false
Whether the branch should be created (optional).
grunt.initConfig({gittag: {task: {options: {branch: 'testing',create: true}}},});Creates a git branch using checkout -b, or checks out a given branch.
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.
Type: String
Default value: 'save'
The stash command to run. E.g.: save, apply.
Type: Integer
Default value: ''
The stash to apply. E.g.: 0 (optional).
Type: Boolean
Default value: false
Whether the staged changes should be reapplied (optional).
grunt.initConfig({gittag: {stash: {options: {create: true}},apply: {options: {command: 'apply',staged: true,stash: '0'}}},});Clones a git repo.
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.
Type: Boolean
Default value: none
Run git clone with the --bare option applied.
Type: String
Default value: none
Clone the repo with a specific branch checked out. (Cannot be used in conjunction with 'bare')
Type: String
Default value: none
The path to the repository you want to clone.
Type: String
Default value: none
Clone the repo into a specific directory instead of the one git decides.
grunt.initConfig({gitclone: {clone: {options: {repo: 'https://github.com/you/your-git-repo.git',branch: 'my-branch',directory: 'repo'}}},});Creates a git branch using checkout -b, or checks out a given branch.
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.
Type: String
Default value: ''
The reset mode to run. E.g.: hard, merge.
Type: String
Default value: 'HEAD'
Which commit to reset to (optional).
grunt.initConfig({gitreset: {task: {options: {mode: 'hard',commit: 'HEAD~1'}}},});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.
