Git commit and push by using GitHub API. No depended on Git binary.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 6530766 Oct 22, 2017
Permalink
Failed to load latest commit information.
example Update EXAMPLE Oct 22, 2017
src Update EXAMPLE Oct 22, 2017
.gitignore initial commit Oct 22, 2017
.travis.yml Update README Oct 22, 2017
LICENSE initial commit Oct 22, 2017
README.md Update EXAMPLE Oct 22, 2017
package.json 1.0.1 Oct 22, 2017
tsconfig.json initial commit Oct 22, 2017
yarn.lock initial commit Oct 22, 2017

README.md

git-commit-push-via-github-api

Git commit and push by using GitHub API.

No depended on Git binary.

Install

Install with npm:

npm install git-commit-push-via-github-api

Usage

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);
    });

Related

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

GITHUB_API_TOKEN=xxx npm run test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu