Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hugit-project/hugit
The humane Terminal UI for git!
https://github.com/hugit-project/hugit
clojurescript git live re-frame react tui
Last synced: 2 months ago
JSON representation
The humane Terminal UI for git!
- Host: GitHub
- URL: https://github.com/hugit-project/hugit
- Owner: hugit-project
- License: apache-2.0
- Created: 2019-07-23T17:34:49.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T06:30:26.000Z (almost 2 years ago)
- Last Synced: 2024-08-01T03:40:48.670Z (5 months ago)
- Topics: clojurescript, git, live, re-frame, react, tui
- Language: Clojure
- Homepage:
- Size: 630 KB
- Stars: 73
- Watchers: 7
- Forks: 5
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
NOTE: Pre-alpha software! Under active development.# hugit
The `hu`mane Terminal UI for `git`!
The general philosophy is:
* **Live** tracks changes in the repo, and updates the UI automatically
* **Help** all available actions and their keybindings are displayed at all times
* **Logs** are always accessible## Demo
![hugit screencast](hugit-screencast.gif)
## Installation
## Features
### Files
- [x] stage files
- [x] unstage files
- [x] checkout files
- [x] untrack files### Hunks
- [x] stage hunks
- [x] unstage hunks
- [ ] discard hunks### Commits
- [x] show commit log
- [x] show commit
- [x] show current head
- [x] commit with message
- [ ] show unmerged (unpushed) commits
- [ ] ammend
- [ ] rebase### Branches
- [x] show current branch
- [x] show local branches
- [x] checkout local branch
- [x] create and checkout new local branch
- [x] fetch remote branches### Remote
- [x] Push to `-u origin `
- [ ] Change remote
- [ ] Push to custom branch## Install
* Install [nvm](https://github.com/nvm-sh/nvm)
* `git clone https://github.com/hugit-project/hugit.git`
* `cd hugit`
* `nvm use 9.11.1`
* `npm install`
* `npx shadow-cljs release app`**Issues**
* Install `nodegit` via `yarn` if `npm` complains: `yarn add [email protected]`
## Run
`cd` to a git repo, and run:
* `nvm use 9.11.1`
* `node path/to/hugit/target/main.js`## Develop
**Compile**
* `cd path/to/hugit`
* `nvm use 9.11.1`
* `npm start`This will:
* start the compiler and watch for changes and recompile automatically
* start a Clojure nREPL, connecting to which and running `(user/repl)` will start a ClojureScript REPL**Run**
* `cd path/to/hugit`
* `nvm use 9.11.1`
* `node --inspect target/js/compiled/hugit.js` to run the appChanges to the `hugit` source should automatically reflect in the UI.
`hugit` is used to develop `hugit` whenever possible!
We will keep at it till we never have to use anything else.## Contributors
* [Manisha Pillai](https://github.com/Manisha38)
* [Divyansh Prakash](https://github.com/divs1210)## Thanks
* [Cljs TUI Template](https://github.com/eccentric-j/cljs-tui-template)
* [nodegit](https://github.com/nodegit/nodegit)## License
Copyright 2019 Manisha Pillai, Divyansh PrakashLicensed under the Apache License, Version 2.0 (the "License");
you may not use this project except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.