DEV Community

Automating git push with just a single bash command

Saurav Jaiswal on May 01, 2020

Say you are working on a project or learning something or doing challenge like #100daysofcode and you are only person who is committing files to th...
Collapse
 
craigewert profile image
CREEE •

I am mystified. What was wrong with

git push

?

Collapse
 
guzzur profile image
Felix Razykov •

This one does add all -> commit with message -> push

Collapse
 
craigewert profile image
CREEE •

git commit -a -m "message here" & git push

And if you do it once, its always in your history

Thread Thread
 
evankapantais profile image
Evan Kapantais •

That's a better approach.

Thread Thread
 
craigewert profile image
CREEE •

Actually I dont do that myself. I always leave off the -m and let it pop up vim for me to enter a commit message. Usually I want to review what files are getting committed, and often my commit message is a short story.

Thread Thread
 
evankapantais profile image
Evan Kapantais •

Yeah, I see your point. The way I see it, even setting up aliases makes is much easier than having to condense everything in a single line.

Collapse
 
thorstenhirsch profile image
Thorsten Hirsch •

Did you really hide my comment? I even told you about a bug in your script that you've fixed now.

Collapse
 
sauravjaiswalsj profile image
Saurav Jaiswal •

Yes I did!! It was a typo not a bug

Collapse
 
thorstenhirsch profile image
Thorsten Hirsch •

I find this very unkind. My comment was not offending by any means.

Thread Thread
 
sauravjaiswalsj profile image
Saurav Jaiswal •

It was aggressive and it did offend me. I think it would be nice of you of you appreciate things instead saying what you prefer.

Thread Thread
 
thorstenhirsch profile image
Thorsten Hirsch •

It's not about things I prefer. I started a conversation whether the recommendations you give in your blog are best practice.

Thread Thread
 
sauravjaiswalsj profile image
Saurav Jaiswal •

Alright. I might have misread. I will take your suggestions. Thank you for that :)

Collapse
 
thorstenhirsch profile image
Info Comment hidden by post author - thread only accessible via permalink
Thorsten Hirsch •

There are probably not many developers out there who favour the CLI over a Git UI, but at the same time are too lazy to type 3 short commands + commit message instead of 1 short command + commit message.

However my workflow doesn't even include git add . every time I want to commit something. It could add temporary/build files that I don't want being tracked by git, so git -a -m '...' is a safer approach, by which we're down to 2 short commands + commit message (w/o your script).

Oh, and please don't start start a "TLDR" with "Basically this is a self explanatory code", because TLDR makes the reader expect a summary. And telling your reader to read the complete code is the opposite of a summary. Btw: it has to be if [ -n $(...) ] instead of if [ n $(...) ].

Collapse
 
baso53 profile image
Sebastijan Grabar •

Everything is #devops nowadays haha.

I can see how this is good to have for your particular use case, but it's exactly that, just for one case. Wouldn't want to accidentaly run this on a local branch other that master though.

Collapse
 
abhishekuniyal profile image
Abhishek Uniyal •

Maybe add your password or ssh key in the env too 😝

Collapse
 
darkain profile image
Vincent Milum Jr •

shouldn't need to if your ssh-agent is setup properly ;)

Collapse
 
sauravjaiswalsj profile image
Saurav Jaiswal • • Edited

Yes! We can. But i avoided it on purpose and thank you for suggesting

Collapse
 
sauravjaiswalsj profile image
Saurav Jaiswal •

Yes, it has.But when you are working on something like 100daysofcode or you are only person working on a repository and you know in and out of it. Then, this could be useful instead of every time typing same git commands to push files.

Collapse
 
gblbjj profile image
gblbjj •

Top!

Collapse
 
sauravjaiswalsj profile image
Saurav Jaiswal •

Thanks!

Collapse
 
sauravjaiswalsj profile image
Saurav Jaiswal •

I did this because I have been doing 100 days of code for quite a long time and repeatedly pushing file with command was quite irritating for me. So I thought to abstract the whole process into a single bash command. Hence I did all this. I found it the process useful so I thought to share with the community.

Collapse
 
mandalawine profile image
Abdellatif ABAZINE •

Great, a dynamic branch, would be a nice to have.

Collapse
 
sauravjaiswalsj profile image
Saurav Jaiswal •

Yes, Abdellatif.

Some comments have been hidden by the post's author - find out more