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-dev
One 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.