paint-brush
How to Push an Empty Commit with Gitby@kodewithchirag
116 reads

How to Push an Empty Commit with Git

by Kode with ChiragNovember 10th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Have you ever faced the need to push a commit to a Git branch without changing any files in order to re-run your integration process?
featured image - How to Push an Empty Commit with Git
Kode with Chirag HackerNoon profile picture


Today I faced a problem while triggering the delivery pipeline and this article is about the solution to that problem.


Have you ever faced the need to push a commit to a Git branch without changing any files in order to re-run your integration process? If yes then you have landed at the right place, my friend. 😉

TLDR; Create an empty commit

git commit --allow-empty -m “Message”

Problem

For continuous integration, we are using Buddy Delivery pipelines allow us to build, test and deploy applications in a single push to a specific git branch. It helps us to reduce the manual overhead of deploying code to the server and handle all the actions automatically.


But today I faced a problem where I needed to re-run my delivery pipeline of a branch without adding any extra space or changing any files in the repository, so I searched for the solution for a while and It turns out that Git is allowing us to push an empty commit without adding any staged files to the branch, by using one option --allow-empty during git commit.

Enough of the Problem, Let’s Jump on to the Solution


Pushing a commit with staged files


git add .

git commit -m "changes on app controller"

git push origin master 


The above commands will add all unstaged files and add commit and push the code to the master branch, after that our delivery pipeline will be started.


Once the pipeline process fails or you need to run the process again, you will have to push something to the branch but as I mentioned earlier, we will not make any changes to the files. We can commit the branch with this command.


Pushing empty commit


git commit --allow-empty -m "rerunning the delivery pipeline"

git push origin master 


After the above commands, you can see that the commit has been pushed to your branch and the delivery pipeline will be started.


First Published here