npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

git-assist

v1.2.18

Published

node utility to help working with GitHub

Downloads

147

Readme

Package version Known Vulnerabilities Dependencies status

Publish action status Upload action status

Code maintainability Technical debt

Linux support MacOS support Windows support

What is git-assist?

This package allows users to easily manage GitHub on their machines. Some features are aimed at developers while some are aiming novice users/non developers.

Examples of what can be done:

  • commit, stage & push operation at once via interactive CLI
  • pull (for current, multiple or all branches)
  • clone a repository
  • generate an SSH key and automatically work with it inside of git-assist
  • generate a GPG key and automatically work with it inside of git-assist
  • configure user globally or for a repository
  • setup git-assist so that it auto-pulls from multiple repository. This can also be scheduled to run on machine startup or following a cron pattern

How to install it

via NPM (recommended)

npm i -g git-assist

You will need to have node and npm installed on your machine for this to work.

Some other dependencies are also required for some of the utilities contained in this package to work. See here.

via install script

If you don't feel comfortable with the command line/you don't have npm installed on your machine, you can use the install script (install.sh) available in the easy-use folder (see docs to know how to use them).

To install git-assist following this method:

  1. download the appropriate collection of scripts for your OS following the appropriated link below
  2. extract this collection on your machine
  3. double click on install.sh

This will install git-assist on your machine as well as all necessary system dependencies.

This script is part of a collection of scripts available here:

Tip: you can use update.sh when git-assist is installed to update it to the latest version if yours is outdated.

How to use it

  • via CLI: you can type git-assist to enter interactive mode. Otherwise if you know which command to call simply do git-assist <command> <arguments>
  • non-CLI usage: you can copy files from the easy-use folder and use them directly inside of your repository (see docs to know how to use them)

If needed, call git-assist [-h, --help] <function_name> in order to get access to the help for git-assist or any of its utilities!

Important: when using two-factor authentication and https protocol to work with GitHub, you should generate an access token in place of your password to be able to authenticate.

You will find the process for creating an access token for your account here.

Note: when choosing options for your token, you can go with repo (all checkbox), admin:repo_hook (all checkbox) and delete_repo.

Required dependencies

Until work has been done to automate dependencies installation on package installation (or suppress some of them), here are the dependencies that needs to be on your computer for this utility to work correctly:

  • git
  • gpg (to generate GPG keys)
  • ssh (to generate ssh keys)
  • Linux only: libsecret & gnome-keyring

Password management

Password management is handled via keytar (check it out here). keytar is using system specific solutions in order to store your password in a secure way. This allows git-assist to reuse your saved password when working with GitHub via HTTPS and not prompt you every time for it.

For Linux users: you may encounter some undesired behavior if you use git-assist without a preconfigured keyring to store your passwords. It seems like keytar is creating for you a default keyring with a set password if no default keyring was found on first run. This can lead users to not being able to unlock this keyring afterward and therefore freezes some applications.

Below are details on how to handle/prevent this situation.

Please install seahorse on your system via your package manager to get access to a frontend to manage your keyrings easily.

How to configure an initial keyring (Linux)

It is recommended to perform this step before working with git-assist if you don't have a keyring set up on your machine already.

  1. start seahorse via your application manager
  2. click File > New
  3. type login when prompted for the name of the keyring
  4. type a password that you will remember when prompted for a password
  5. back on the main page of seahorse, right click on your newly created keyring and click on Set as default

How to fix a locked default keyring (Linux)

If you started using git-assist with no keyring configured it is possible that some of your apps may be frozen because the keyring would be locked (since you don't know the password to unlock it).

  1. go into ~/.local/share/keyrings either via your console and via your file explorer
  2. delete the file containing default in its name and ending with .keyring (via terminal or file explorer)
  3. start seahorse via your application manager
  4. right click on the keyring containing default in its name and click on Delete
  5. when prompted, confirm deletion
  6. follow the steps 2 to 5 in the section above to create a new default keyring

Available features

| Feature | Config | SSH | GPG | Clone | Push | Pull | Auto-pull | Logs | Help | Version | |:-----------:|:----------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------:|:--------------------------------------------------------------:|:---------------------------:|:---------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------:|:-----------------------------------------------:| | Description | Setup git user | Manipulate SSH keys | Manipulate GPG key | Clone repositories | Easy push (git add/commit/push all in one via interactive CLI) | Easy pull (interactive CLI) | Automatically pull for repositories (on machine startup/schedule/etc). Offers configuration options | Prints git-assist logs | Get help about git-assist | Print current installed version of git-assist | | Command | config | ssh | gpg | clone | push | pull | auto-pull | logs | --help or -h | --version or -v | | Arguments | -g | --generate: generate a new key for given user, --list: list all keys generated via git-assist, --delete: delete one or multiple keys generated via git-assist | --generate: generate a new key for given user, --list: list all keys generated via git-assist, --delete: delete one or multiple keys generated via git-assist | | | | --config or -c | [file1, file2, ..., fileN]: target specific log, --watch [file]: watch a given log file, --purge [file1, file2, ..., fileN]: purge given log file | | | | Status | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

OS support

| Windows | Linux | MacOS | |:-------:|:-----:|:-----:| | ❓ | ✔️ | ⏲ |

Legend

| Icon | Meaning | |:----:|:---------------------------:| | ✔️ | Implemented/working | | ⏲ | Work in progress | | ❓ | Not tested | | ❌ | Not implemented/not working |

*Logo generated via Tailor Brands