Currently I use VSCode, and I almost never resort to Version Control tab, but when I do, it is convenient.
For commands starting with git I commonly used are
git add .
git commit ...
git push ...
git pull ...
git submodule ...
git worktree ...
git branch ...
git rm --cache ...
Never used git checkout, the GUI already helped for checking out.
I will try to use these more
git merge ...
git commit --amend
git rebase -i
And I might try to use git push -f less.
For non-directly git, I use
git config --global core.editor nano
gi node,macos > .gitignore
java -jar ~/bfgTAB --delete-files *** && git reflog expire --expire=now --all && git gc --prune=now --aggressive
# Might be safer than git filter-branch --tree-filter 'git clean -f -X' -- --all
gi is https://docs.gitignore.io/install/command-line#macos-bash
Perhaps I should try this as well.
git cz

Top comments (8)
I used to use VS Code's built-in Git GUI, which was nice, but I started running into issues with it and I find its diff not to my tastes.
After that, I've been using Fork. It's super simple, nice and clean and clear and works well on different platforms. I've never had to resort to terminal and I prefer the visual aspect of dealing with potentially tricky git operations.
Looks nice.
Have you have tried GitHub Desktop, or something else?
I wonder what does "Free Evaluation" means.
Oh yeah, forgot about that one: I do use GitHub desktop, but I find it doesn’t play well with third party repos. And it’s a little limited in doing some for things. But it is ace.
Not sure about the ‘free evaluation’ part. I’ve been using it for months without needing to purchase it.
I use gitk and git gui. The command line is critical to my rebase and fixup commits. I also use the command line for branch navigation and everything else not graph, commit, or merge related.
I am explicit about my actions, I don't rely on tracking configuration to know what I want to do today.
I Find Git Extensions Confusing
Jesse Phillips ・ Nov 30 '19 ・ 1 min read
I used to use vscode's git interface, but It was so slow for me and would randomly lock up requiring a restart fo vscode, so I turned it completely off and only use the terminal. I find it convenient that I can get to it with a keyboard shortcut. I use forgit, which gives a bit better terminal user interface with fuzzy matching. The one thing that I miss from turning off git in vscode is the nice diffs in my editor.
💤 A utility tool powered by fzf for using git interactively.
forgit
forgitis a utility tool powered by fzf for using git interactively.Installation
Make sure you have fzf installed.
Try Online
Run the following command in your shell to try
forgitwithout installing:Bash and ZSH
Fish
Installation using a ZSH Plugin manager
Zplug
zplug 'wfxr/forgit'Zgen
zgen load 'wfxr/forgit'Antigen
antigen bundle 'wfxr/forgit'Manual Installation
Download and source
forgit.plugin.zsh,forgit.plugin.sh, orforgit.plugin.fishin your shell config.Commands
ga
Interactive
git addselectorglo
Interactive
git logviewerThe log graph can be disabled by option
FORGIT_LOG_GRAPH_ENABLE(see discuss in issue #71).gi
Interactive
.gitignoregeneratorgd
Interactive
git diffviewergrh
Interactive
git reset HEAD <file>selectorgcf
Interactive
git checkout <file>selectorgss
Interactive
git stashviewergclean
Interactive
git cleanselectorDefault keybinds
For add/commit, I prefer to use the VScode tab because It’s easier to see what changes.
For git push I use the vscode action menu (ctrl+shift+p) so I don’t have to open a new terminal.
For search in a file history I use the awesome Git History Diff extension.
For more complex searches (like –grep…), I use the terminal and the Git History Diff input ref command to visualise the commit
I always use the CLI for git. I felt that most GUIs aren't significantly easier to use.
Same. I feel safer in the command line. I feel in more control