DEV Community

Discussion on: My Personal Git Tricks Cheatsheet

Collapse
koffeinfrei profile image
Alexis Reigel

Git assumes the current branch implicitely, so the following also works:

alias git-up="git push -u origin"

Even better is to use a git alias for this:

git config --global alias.up 'push -u origin'

so you can use it like $ git up.

If you think you need to explicitly specify the branch anyway you can define an alias like this:

git config --global alias.up '!git push -u $(git-branch)'
Collapse
antjanus profile image
Antonin Januska Author

Nice! Thank you for the tips!

The git up alias is perfect.

Collapse
travisdock profile image
Travis

Not specifying the branch still gives me a Fatal: The current branch has no upstream. Any ideas why?

Thread Thread
koffeinfrei profile image
Alexis Reigel

Did you specify the -u flag?

Thread Thread
travisdock profile image
Travis

Yep, I copied and pasted this exactly
git config --global alias.up 'push -u origin'

Thread Thread
antjanus profile image
Antonin Januska Author

yeah, looks like I have the same issue!

Thread Thread
travisdock profile image
Travis

Ok, after some digging I got an alias to work. I have no idea why it works when nothing else I tried would but here it is anyway. I think it is best to paste the following into your .git-config file directly:

up = "!git push -u origin `git symbolic-ref --short HEAD`"

or if you have git 2.22

up = "!git push -u origin `git branch --show-current`"

I figured this out mostly by messing around with this Stack Overflow answer: stackoverflow.com/a/30529511/9770212