pip3 install sharpen-commander
- Can move to the project folder
- git command helper
- fetch, merge, status for multiple project
- CUI for git add/reset, commit
- CUI for git push from commit message
- CUI for find
- CUI for grep
- The convenient CUI interface based on urwid(CUI)
- Can manage multiple git repositories conveniently
- Can do commit with seeing modification for commit msg under CUI
- Can push conveniently with commit message
** if you have installed pip3 and virtualenv already, skip it.
$ sudo apt install python3 python3-pip git $ sudo pip3 install virtualenv
$ curl -L https://github.com/inertry/synapbookCommander/raw/stable/install.sh | bash -
or if you clone the repository already, $ echo ". $(pwd)/bash-script.sh" >> ~/.bashrc
Type 'dc'
-
j/k
- move focus -
u
- move upper folder -
h/enter
- enter the folder -
E
- edit the file -
n
- Mark current item as trivial -
m
- Mark current item as important -
f
- filtering current folder items -
s
- running shell command with $ for current selected file name -
/
- command mode -
reg - Register current folder
-
find/ff - Running find command with CUI result ex> ff **.py
-
grep/gg - Running grep command with CUI result ex> gg Metric
-
R
- Register/unregister this selected folder -
L
- Show the list of repository folders -
C
- Show commit dialog for current repo
Alt+Right/Left
- Add or remove the folder in WorkspaceAlt+Up/Dowm
- Move workspace between folder list
A
- git add current fileP
- prompty for git add -p commandR
- reset current staged fileD
- drop modification[
/]
- move next/previous fileJ
/K
- scroll down/up - you can use arrow key tooC
- popup commit dialogF4
/Q
- quit the program
** you can see all staged modification for input commit message
- up/down - scroll current file's content
- f9/f10 - prev/next file to see modification
** then input commit message and then enter to do commit
P
- pull --rebase all repoEnter
- move to the selected repo
$ dcf -name "**.py"
$ dcg "printf"
$ dc update
** all projects that regsitered as repo are updated(git fetch + rebase to remote tracking branch + print status)
** update
command is comprised of dc fetch
+ dc merge
+ dc st(status)
$ dc st
** you can combinate several command as follows,
$ dc fetch st
** you can print current folder or certain repo's status as well
$ dc update .
$ dc update plus
$ dc ci
** you can use the following keys
** you can conveniently push commits just specify target branch name
** push command always check tracking branch firstly than ask you to rebase onto.
$ dc push
** just type target branch you want to push to