DEV Community

Git helpers - Simplify your git workflow

Gyandeep Singh on August 12, 2017

This was originally posted here Being a git lover, I got tired of typing same commands over and over again. This motivated me to build some alias ...
Collapse
 
xavierartot profile image
Xavier Artot

with ZSH you have already set up alias for Git, and I installed example wiht mine:
plugins=(git bower osx colored-man-pages colorize brew npm)
here the alias set up
github.com/robbyrussell/oh-my-zsh/...

But I have Zplug to manage more plugin and on is very cool here:

zplug "plugins/git", from:oh-my-zsh

If you typing the same cmd, with zsh I just use the autocompletion?

Collapse
 
gyandeeps profile image
Gyandeep Singh

I guess it make sense to use ZSH but I am a windows user and I don't want to install more stuff. That's why this works for me.

Again, important part is the functions and how you call them (using bash, zsh, etc) is very personal to the user using it. They can be used anywhere. Even the alias names can be changed based on the user preference.

Collapse
 
xavierartot profile image
Xavier Artot • Edited

the important it's the consistency and stays DRY (don't repeat your self).
And the productivity is important too.
I can start to work slowly because Windows or other software, but my boss doesn't go to understand the purpose?

Thread Thread
 
lt0mm profile image
Tom

Maybe you would be even faster on windows who knows :)

Thread Thread
 
xavierartot profile image
Xavier Artot

I tried and I'm more productive on Mac osx, Windows with virus and co, I didn't go anywhere then Linux can be a good fit for me too, I'm working on Debian and Ubuntu sometimes.
It's really similar to mac osx.

Thread Thread
 
lt0mm profile image
Tom • Edited

Yeah by my opinion mac is more user-friendly for developers, but what I noticed for myself is that I really enjoy more working on it, and my mood can increase productivity not tools, you can find similar tools for windows, and something can be even better, I have friends who really don't like mac os, I'm sure that theirs productivity is much better on windows

Thread Thread
 
xavierartot profile image
Xavier Artot

I'm sure you're friends are very marginal.

Thread Thread
 
lt0mm profile image
Tom

I think someone has to say it to you, there are people with different opinions even with different tastes. You should know that it isn't called marginality

Collapse
 
sapirgolan profile image
Sapir Golan

Hi,

Did you manage to add the "git helpers"?
I'm also using oh-my-zsh on my mac with git plugin enabled.

Collapse
 
xavierartot profile image
Xavier Artot • Edited

to see the alias associate to git type:
alias | grep git

but again I'm using a plugin to help me to use the alias and force to remember it.
It's very helpfull when you have like me 390 alias:


alias | wc
390 1346 12969

git helpers is not a command in Git?

Thread Thread
 
sapirgolan profile image
Sapir Golan

I'm not using zplug, however i do use alias | grep to find the alias I'm looking for.

I have managed to create a plugin for zsh that is based on git helpers. I'm not sure how to share this plugin

Collapse
 
lt0mm profile image
Tom

nice, I can suggest only one of my favorite things to use

git merge-base master HEAD

as a default commit for rebasing, it's nearest common ancestors between current branch and master

Collapse
 
gyandeeps profile image
Gyandeep Singh

I have never heard of that... an you explain that a little bit as to when do you use and how it works...

Collapse
 
lt0mm profile image
Tom • Edited

yeah I found it somewhere as it usual happens, I use it for 2 aliases


rebase-branch => !git rebase -i `git merge-base master HEAD`
reset-branch => !git reset `git merge-base master HEAD`

first do interactive rebase of feature branch from first commit after master, second just reset all commits on feature branch leaves you with unstaged changes of all commits (you're loosing all commit messages of cause), so I thought that in your case maybe it would be good instead of default 2 commits back interactive rebase do rebase from the beginning of feature branch

Collapse
 
der_gopher profile image
Alex Pliutau

Nice, I recently came up with this tool, which simplifies opening repo in browser from terminal.

github.com/plutov/o