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 J. (they/them)

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 J. (they/them)

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