hugit
hugit copied to clipboard
The humane Terminal UI for git!
hugit
The humane 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

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 <current-branch-name> - [ ] Change remote
- [ ] Push to custom branch
Install
- Install nvm
git clone https://github.com/hugit-project/hugit.gitcd hugitnvm use 9.11.1npm installnpx shadow-cljs release app
Issues
- Install
nodegitviayarnifnpmcomplains:yarn add [email protected]
Run
cd to a git repo, and run:
nvm use 9.11.1node path/to/hugit/target/main.js
Develop
Compile
cd path/to/hugitnvm use 9.11.1npm 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/hugitnvm use 9.11.1node --inspect target/js/compiled/hugit.jsto run the app
Changes 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
Thanks
License
Copyright 2019 Manisha Pillai, Divyansh Prakash
Licensed 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 at
http://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.