Shell & Shell-Enhancements
Better command lines for windows:
- Microsoft Terminal
The new Windows Terminal - Fish
shell with some nice enhancements.
available for MacOS, Linux and Cygwin/Windows - hyper.is
Electron based terminal - Clink
Bash-Like feature for cmd.exe - ConEmu
console emulator with tabs - cmder
nice and good looking console emulator for windows
MacOS
beside the Fish shell above there is also:
- Kitty
GPU based terminal
Configure your Shell Prompt
- Use bashrcgenerator to create a .bashrc file (for the famous Bash Shell)
- For the Fish Shell you can start fish_config to configure the shell via a browser.
Drawing and Visualizing
- Draw a diagram in your code using PlantUML
- Draw a diagram with Diagrams (draw.io)
- Draw a diagram that looks like hand-drawn Excalidraw
- Use proven templates like arc42
also see what we collected on cultureascodemanifesto.org
Useful GIT aliases
To learn more about git consider playing around with the visual cheat sheet. if you want to know more on branching try the interactive demo of pcottle. On the Atlassian site there is also a nice git tutorial available.
checkout all branches:
git config --global alias.clone-branches '! git branch -a | sed -n "/\/HEAD /d; /remotes/p;" | xargs -L1 git checkout -t'
So "git clone-branches" will create a local branch of all remote branches (useful when moving a Git repository to a new origin).
git push origin --all git push origin --tags
List tracked branches
alias.track=!sh -c " if [ \$# -eq 2 ] then echo \"Setting tracking for branch \" \$1 \" -> \" \$2; git branch --set-upstream \$1 \$2; else git for-each-ref --format=\"local: %(refname:short) <--sync--> remote: %(upstream:short)\" refs/heads && echo --URLs && git remote -v; fi " -
Migrate from Subversion to Git
Although git comes with a subversion checkout, it lacks support for clean tags and branches (as subversion does not really have tags). I converted svn repositories to git ones with better results using SVN2GIT from the KDE project. Sample rules can be found in their GitHub repo.