gib

A .gitignore bootstrapper for projects that use git


Keywords
cli, git, gitignore, vcs
Licenses
MIT/GPL-3.0

Documentation

gib - A .gitignore bootstrapper for projects using git

Crates.io Travis CI build License

Installation

You can download the binaries for the available platforms at GitHub's releases page

Additionally, if you have installed Rust on your machine, you can just do:

cargo install gib

Usage

Create .gitignore at current directory (if it doesn't exist)

$ gib [<template>...] 

If a .gitignore file already exists at that location, gib will do nothing.

[Coming soon:] If you want to extend an existing file instead, use the -a|--append flag. If you want to overwrite it, use -r|--replace.

Create .gitignore at other directory

$ gib [<template>...] [-o|--output] [<path>]

Get list of available templates

$ gib [-l|--list]

Print result of specified templates to stdout only

$ gib [<template>...] [-s|--show]

Examples

Output .gitignore file for Go and Rust

$ gib go rust

.gitignore

###############
#   Go
###############
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
# vendor/

###############
#   Rust
###############
# Generated by Cargo
# will have compiled files and executables
/target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

Pending changes

  • [ ] Additional means of installation (brew for macOS, scoop of choco for Windows, etc.)
  • [ ] Add append and replace flags for working with existing .gitignore files.
  • [ ] Replace .gitignore template loading with lazy_static or phf?
  • [ ] The build process at build.rs assumes the gitignore submodule is present and correctly loaded. It should test that before anything else.