@devmatch/g4c

1.6.2 • Public • Published

G4C logo


# g4c - Git for Cloud A basic pure js git CLI implementation based on isomorphic-git.

Open in StackBlitz


Commands supported

- g4c clone URL
- g4c clone URL DIRECTORY
- g4c clone # (automatically clones from package.json, or secrets file)
- g4c checkout --force HEAD
- g4c pull
- g4c pull --ff-only
- g4c status
- g4c add --all
- g4c commit -m "My commit message"
- g4c push

TODO:

- git # As an alias, comming soon
- g4c add FILE(s)
- g4c add .
- git pull origin pull/123/head

Setup

  • npm i -D g4c
  • npm i -g g4c -- Global install

Goals

  1. Make common git commands easy to use in JavaScript shells 🚀
    • This includes commands such as git clone, git pull, and git push.
  2. Provide configuration options via config file, package.json and ENV variables ⚙️
    • This will make it easier for developers to customize the behavior of g4c to match their specific needs.
  3. Minimize cold-boot time and overhead in browser environments ⏱️
    • This is important for web IDEs. By minimizing the cold-boot time, developers can maximize cycle time and review PR's more efficiently.
  4. Improve the developer experience (DX) for JS devs as much as possible 👩‍💻
    • Following in the foot steps of vite and git to improve workflows.

Configuration Precedence

  • First, the long form package.json -> repository field is read
  • Then, package.json -> author field is read for email and name
  • Then, package.json -> g4c
  • Finally, SECRETS.g4c.json can veto all others
  • Unless, yoy provided an argument in the command line

All of these are optional:

// SECRETS.g4c.json
{
  "proxy": "https://cors.isomorphic-git.org",
  "useProxyOnBareMetal": false,
  "username": "inu",
  "password": "neko",
  "authorName": "John Doe",
  "authorEmail": "john@example.com",
  "repoUrl": "https://github-sucks.com/user/project.git"
}

Readme

Keywords

Package Sidebar

Install

npm i @devmatch/g4c

Weekly Downloads

2

Version

1.6.2

License

GPL-3.0

Unpacked Size

23.1 kB

Total Files

6

Last publish

Collaborators

  • shangzhen-devmatch
  • alanboy