Git commit and push by using GitHub API. No depended on Git binary.
MIT License
Git commit and push by using GitHub API.
No depended on Git binary.
Install with npm:
npm install git-commit-push-via-github-api
const fs = require("fs");
const { gitCommitPush } = require("git-commit-push-via-github-api");
process.on("unhandledRejection", console.dir);
if (!process.env.GITHUB_API_TOKEN) {
throw new Error("GITHUB_API_TOKEN=xxx node example.js");
}
gitCommitPush({
// commit to https://github.com/azu/commit-to-github-test
owner: "azu",
repo: "commit-to-github-test",
// commit files
files: [
{ path: "README.md", content: fs.readFileSync(__dirname + "/README.md", "utf-8") },
{ path: "dir/input.txt", content: fs.readFileSync(__dirname + "/dir/input.txt", "utf-8") },
// Pass binary as Buffer
{ path: "next-item.mp3", content: fs.readFileSync(__dirname + "/next-item.mp3") },
{ path: "image.png", content: fs.readFileSync(__dirname + "/image.png") }
],
fullyQualifiedRef: "heads/master",
forceUpdate: false, // optional default = false
commitMessage: "HELLO"
})
.then(res => {
console.log("success", res);
})
.catch(err => {
console.error(err);
});
See Releases page.
Install devDependencies and Run npm test
:
GITHUB_API_TOKEN=xxx npm run test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
MIT azu