azu / git-commit-push-via-github-api

Git commit and push by using GitHub API. No depended on Git binary.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


📝 Looking for Maintainer · Issue #12


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

About

Git commit and push by using GitHub API. No depended on Git binary.

License:MIT License


Languages

Language:TypeScript 85.5%Language:JavaScript 14.5%