Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/optionfactory/digit
Learn git by visualizing it
https://github.com/optionfactory/digit
Last synced: 3 months ago
JSON representation
Learn git by visualizing it
- Host: GitHub
- URL: https://github.com/optionfactory/digit
- Owner: optionfactory
- License: mit
- Created: 2016-07-27T12:47:15.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2016-08-26T08:39:19.000Z (almost 8 years ago)
- Last Synced: 2024-01-16T23:16:52.756Z (5 months ago)
- Language: JavaScript
- Size: 1.15 MB
- Stars: 66
- Watchers: 12
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Lists
- awesome-stars - optionfactory/digit - Learn git by visualizing it (JavaScript)
README
# digit - learn git by visualizing it
Digit shows a realtime visual representation of a git repo structure, making it easier to understand how git works and what is the effect of each and every git command you run.
Digit is meant to be a learning tool, developed for our mid-level git workshop (http://www.optionfactory.net/courses/details/Git/). As such, it is not designed to scale to large repositories.
## How does it look like
![Main interface](screenshots/cover.png?raw=true "Main interface")## Features
* monitors a local git repo
* realtime updates using fsnotify and websockets
* optionally monitors a second repo to experiment with remotes, push, pull, fetch, etc
* shows git graph, including unreachable nodes
* shows references: tags, branches, HEAD, stash pointers
* commit metadata in tooltip
* display current repo status (as in "output of `git status`")
* visualizes node ancestry (for reachability)## Binary downloads
*Digit requires git to be installed on your machine** Linux [amd64](//github.com/optionfactory/digit/releases/download/1.1/digit-linux-amd64) [386](//github.com/optionfactory/digit/releases/download/1.1/digit-linux-386) (tested)
* Windows [amd64](//github.com/optionfactory/digit/releases/download/1.1/digit-windows-amd64.exe) [386](//github.com/optionfactory/digit/releases/download/1.1/digit-windows-386.exe) (test in progress)
* OS X [amd64](//github.com/optionfactory/digit/releases/download/1.1/digit-darwin-amd64) (tested)
* Others: possibly, let us know: see [release](//github.com/optionfactory/digit/releases/tag/1.1)## More screenshots
### Reachability and commit metadata
![Reachability and commit metadata](screenshots/reachability_and_commit_details.png?raw=true "Reachability and commit metadata")
### Local and remote repo
![Local and remote repo](screenshots/local-vs-remote.png?raw=true "Local and remote repo")## Usage
```
digit [--bind-to :] local_repo_path [origin_repo_path]
```and point your browser to http://localhost:9000 (or any other address specified in --bind-to)
Both paths must reside on the local filesystem (no network support yet).
## Building from source
This repo uses a submodule in embedded_data/graph-algorithm.*When cloning, make sure to use --recursive in order to properly initialize the submodule.*
The build system relies on docker and GNU Make.
* make local: builds for the local os/arch
* make all: builds for all architectures## Known Limitations
* just a learning aid
* not meant to scale (tested with repos with a couple hundred commits)## Authors
* Francesco Degrassi
* Davide Salvador## Thanks
To Wei Wang: several ideas taken from [Explain Git With D3](https://github.com/onlywei/explain-git-with-d3)