• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A CLI wrapper around git for an improved developer experience

giddy

giddy is a command line tool designed to help you manage your git workflow. It addresses some of the gaps that I've found in git's user experience and provides some helpful aliases for dealing with common git pitfalls. If you've experienced any pitfalls or user experience hiccups with git that you think should be addressed in giddy, please submit an issue.

If you think giddy is totally rad, you should give Safia some money.

Installation

npm install --global giddy

Usage

Stage and Undo

The git add and git rm commands can be a little opaque to new git users. In order to more transparently communicate what they do, giddy stage <file> runs either git rm <file> or git add <file> for a given file depending on whether or not it has been removed from the project.

giddy undo <files> undoes unstaged changes to a file by checking out the version of the file associated with the most recent commit. git undo --all undoes unstaged changes to all files in the project.

Revision History Traversal

Sometimes it's helpful to browse through changes in a project commit by commit. giddy provides a few simple commands for traversing the revision history for a particular project.

giddy back goes backwards one commit in the revision history. For example, in order to go back three commits into the project, a user can input the following commands.

$ giddy back
$ giddy back
$ giddy back

giddy forward goes forward one commit in the revision history until the user has hit the most recent commit for a project. For example, to navigate back two commits and forward one, a use can input the following commands.

$ giddy back
$ giddy back
$ giddy forward

These actions will happen in detached HEAD mode.

giddy latest takes the user to the most recent commit in the revision history regardless of where they are.

giddy-oops

The giddy-oops command is designed to provide shortcuts to handle common git pitfalls like accidently committing a sensitive file to the repository, forgetting to stage a file onto a commit, or undoing the most recent commit.

In order to undo a commit of a sensitive file and remove all references to that file from the revision history, the user can run the following command.

giddy-oops no-git super-secret-file.env

In order to stage a file onto an existing commit, you can run the following command.

giddy-oops missed i-totally-forgot-to-stage-this.txt

Happy gittin'!

More Repositories

1

legit

Add licenses to projects at the command line
JavaScript
561
star
2

fony

A simple command line tool for generating fake data from a template string
JavaScript
516
star
3

goops

A CLI tool that automagically adds or recommends the best .gitignore for your project
JavaScript
425
star
4

blazoract

Interactive notebook web app implemented in Blazor
HTML
117
star
5

dossier

Generate statistics from any repository that adheres to the conventional changelog standard
JavaScript
81
star
6

notebook-snippet-manager

A Jupyter Notebook extension for managing code snippets
JavaScript
50
star
7

data-science-from-start-to-finish

A book on data analytics fundamentals with Python
46
star
8

micro-sentry

Send micro errors to the Sentry service
JavaScript
34
star
9

checklist

A CLI tool that determines whether or not your new project is ready for battle
JavaScript
32
star
10

ratatouille

A Node.js wrapper for scraping allrecipes.com
JavaScript
30
star
11

TrainingApi

C#
29
star
12

notebook-toc

A Jupyter Notebook extension for generating a table of contents at the top of a notebook
Jupyter Notebook
26
star
13

fortuity

A CLI that prints inspirational quotes on shell startup
JavaScript
25
star
14

commentator

Generate block or inline comments for source files
JavaScript
15
star
15

jupytercon-tutorial

Jupyter Notebook
15
star
16

covfefe

JavaScript
13
star
17

openapi-community-standup-may-2024

Sample code and deck for May 28th, 2024 presentation on OpenAPI
C#
12
star
18

memory-management-in-js

Jupyter Notebook
11
star
19

bick

A light-weight pretty print wrapper around console.log
JavaScript
9
star
20

notebook-to-dos

A Jupyter Notebook extension for adding a to-do list to a Notebook
JavaScript
9
star
21

dotnet-conf-2023

Code samples for the "In .NET 8, ASP.NET Ate" session at .NET Conf 2023
C#
7
star
22

blazor-auth-samples

A collection of samples for authentication in Blazor
HTML
7
star
23

split-cell-to-notebook

A Jupyter Notebook extension for splitting a cell into two notebooks
JavaScript
6
star
24

captainsafia.github.io

My personal website
SCSS
5
star
25

backbone-renderer

Experimenting with rendering Backbone-based ipywidgets inside a React component
JavaScript
4
star
26

raw-button

A Jupyter Notebook extension for adding a GitHub-like "Raw" button to the filetree
JavaScript
4
star
27

mshack2022

C#
4
star
28

shouldirun

Javascript application to determine whether or not you should run to a meeting
JavaScript
3
star
29

safia-runs-the-world

HTML
3
star
30

advent-of-code-2018

My solutions to the 2018 Advent of Code challenge
Python
3
star
31

solar

A Go package for manipulating slices
Go
3
star
32

dont-read-the-ipsum

The code powering Don't Read The Ipsum for Chicago's Comedy Hack Day
CSS
3
star
33

micro-form-data

Parse multipart/form-data in micro requests
JavaScript
3
star
34

shinx

Package for watching changes on a Jupyter kernel runtime directory
JavaScript
2
star
35

themisto

A Jupyter kernel for the Racket programming language
Racket
2
star
36

eecs-337-recipes

Repo for recipes assignment for EECS337
Python
2
star
37

cranberry

OPTICS clustering module for Python
Python
2
star
38

notebook-to-blog

Write Ghost blog posts using your Jupyter Notebook interface
Jupyter Notebook
2
star
39

git-integration-test

Jupyter Notebook
2
star
40

notebook-linter

A Jupyter Notebook extension for linting code in a Notebook
2
star
41

blazor-wasm-deploy-gh

Testing GH deploys
HTML
2
star
42

GlobalUsingsWeb

2
star
43

git-from-the-ground-up

2
star
44

papaya

A web app for improv-based talks
Common Lisp
1
star
45

notebook-autoformat

A Jupyter Notebook extension for automatically formatting code cells
JavaScript
1
star
46

aspnet-openapi-docs

OpenAPI docs for ASP.NET Core application
1
star
47

TestJsonRegression

HTML
1
star
48

blueberry

A web-app for improv-based conference talks (not CL-based)
HTML
1
star
49

pomodory

Pomodoro timer using CSS/HTML/JS
JavaScript
1
star
50

MinimalFiltersExample

Examples of filters in minimal APIs
C#
1
star
51

cli-tips

HTML
1
star
52

ValidationSourceGenerator

C#
1
star
53

spinda

Data insights dashboard for Jupyter Notebooks
1
star
54

MinimalWithControllers

C#
1
star
55

sassifiaed

Tinkering with Sass and building my own CSS framework
CSS
1
star
56

coc-flowchart

A flowchart to help you implement a CoC in your community
1
star
57

samba

RobotC code for the 2012-2013 FTC Team, the Ada Graces
C
1
star
58

captainsafia

1
star
59

dusclops

Repository for learning about Redux, React, and other fun shenanigans
JavaScript
1
star
60

formula-one

A backend handler for the EPIC resume portal
JavaScript
1
star
61

endive

Rare event prediction library for Python
Python
1
star
62

go-user-shell

A Go package that returns the user's shell
Go
1
star
63

faqs

Questions that I get asked frequently
1
star
64

simple-site

Grab a cup of coffee, open up Vim, and get back to the basics.
CSS
1
star
65

zubat

An implementation of logistic regression in Python for educational purposes
Python
1
star