<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tech Sheikh</title>
    <description>The latest articles on DEV Community by Tech Sheikh (@jamiukayode27).</description>
    <link>https://dev.to/jamiukayode27</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1209049%2F32e68281-508b-46fa-aec8-c3ddd538895c.jpeg</url>
      <title>DEV Community: Tech Sheikh</title>
      <link>https://dev.to/jamiukayode27</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jamiukayode27"/>
    <language>en</language>
    <item>
      <title>How to Automate Git Add, Commit, and Push with a Bash Script</title>
      <dc:creator>Tech Sheikh</dc:creator>
      <pubDate>Sat, 26 Sep 2026 19:42:53 +0000</pubDate>
      <link>https://dev.to/jamiukayode27/how-to-automate-git-add-commit-and-push-with-a-bash-script-524g</link>
      <guid>https://dev.to/jamiukayode27/how-to-automate-git-add-commit-and-push-with-a-bash-script-524g</guid>
      <description>&lt;p&gt;How to Automate Git Add, Commit, and Push with a Bash Script&lt;/p&gt;

&lt;p&gt;I automated one of the repetitive tasks in my development workflow.&lt;/p&gt;

&lt;p&gt;While working on a static HTML, CSS &amp;amp; JavaScript project, I noticed that every time I wanted to save my progress to GitHub, I had to repeatedly run:&lt;/p&gt;

&lt;p&gt;git add .&lt;br&gt;
git commit -m "your message"&lt;br&gt;
git push origin main&lt;/p&gt;

&lt;p&gt;So I decided to automate it with a simple Bash script.&lt;/p&gt;

&lt;p&gt;Here's how you can do the same.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Bash script&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Inside your project folder, create a file called:&lt;/p&gt;

&lt;p&gt;push.sh&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add this to the file&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  !/bin/bash
&lt;/h1&gt;

&lt;p&gt;git add .&lt;/p&gt;

&lt;p&gt;if git diff --cached --quiet; then&lt;br&gt;
    echo "No changes to commit."&lt;br&gt;
    exit 0&lt;br&gt;
fi&lt;/p&gt;

&lt;p&gt;git commit -m "Daily update"&lt;br&gt;
git push origin main&lt;/p&gt;

&lt;p&gt;The script does three main things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Stages your changes with "git add ."&lt;/li&gt;
&lt;li&gt;Creates a commit with "git commit"&lt;/li&gt;
&lt;li&gt;Pushes the commit to GitHub with "git push"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The small check in the middle prevents the script from creating an empty commit when there are no changes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make the script executable&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run:&lt;/p&gt;

&lt;p&gt;chmod +x push.sh&lt;/p&gt;

&lt;p&gt;This gives the script permission to execute.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run it whenever you're ready to push your work&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead of manually running:&lt;/p&gt;

&lt;p&gt;git add .&lt;br&gt;
git commit -m "your message"&lt;br&gt;
git push origin main&lt;/p&gt;

&lt;p&gt;You can now simply run:&lt;/p&gt;

&lt;p&gt;./push.sh&lt;/p&gt;

&lt;p&gt;That's it. 😄&lt;/p&gt;

&lt;p&gt;What happens?&lt;/p&gt;

&lt;p&gt;When you run:&lt;/p&gt;

&lt;p&gt;./push.sh&lt;/p&gt;

&lt;p&gt;the script automatically stages your changes, creates the commit, and pushes it to GitHub.&lt;/p&gt;

&lt;p&gt;You'll get output similar to:&lt;/p&gt;

&lt;p&gt;[main abc1234] Daily update&lt;br&gt;
 3 files changed, 25 insertions(+), 8 deletions(-)&lt;/p&gt;

&lt;p&gt;To github.com:username/project.git&lt;br&gt;
   abc1234..def5678  main -&amp;gt; main&lt;/p&gt;

&lt;p&gt;Your latest changes are now on GitHub. ✅&lt;/p&gt;

&lt;p&gt;And if you haven't made any changes, you'll simply get:&lt;/p&gt;

&lt;p&gt;No changes to commit.&lt;/p&gt;

&lt;p&gt;The DevOps lesson&lt;/p&gt;

&lt;p&gt;This small exercise taught me something bigger than Bash scripting.&lt;/p&gt;

&lt;p&gt;While building, I was learning to ask myself:&lt;/p&gt;

&lt;p&gt;«"What repetitive process can I automate?"»&lt;/p&gt;

&lt;p&gt;That's part of DevOps thinking.&lt;/p&gt;

&lt;p&gt;Identify repetitive processes → automate them → make them reliable → continuously improve them.&lt;/p&gt;

&lt;p&gt;It's a small automation, but it's a practical example of how I can apply DevOps principles to my everyday development workflow.&lt;/p&gt;

&lt;p&gt;If you can think of it, you can automate it.&lt;/p&gt;

&lt;p&gt;Learning by building and sharing the process so others can learn too. Connect with me on X &lt;a class="mentioned-user" href="https://dev.to/jamiukayode7"&gt;@jamiukayode7&lt;/a&gt; &lt;/p&gt;

&lt;h1&gt;
  
  
  DevOps #Git #GitHub #Bash #Linux #CICD #CloudComputing #LearningInPublic
&lt;/h1&gt;

</description>
      <category>automation</category>
      <category>bash</category>
      <category>git</category>
      <category>productivity</category>
    </item>
    <item>
      <title>My first Django project, the problem I faced and how I overcome it.</title>
      <dc:creator>Tech Sheikh</dc:creator>
      <pubDate>Wed, 03 Jul 2024 13:26:19 +0000</pubDate>
      <link>https://dev.to/jamiukayode27/my-first-django-project-the-problem-i-faced-and-how-i-overcome-it-4j23</link>
      <guid>https://dev.to/jamiukayode27/my-first-django-project-the-problem-i-faced-and-how-i-overcome-it-4j23</guid>
      <description>&lt;p&gt;I started learning Django framework some months ago, as a developer I believe that the main purpose of learning is to use it to solve a problem and  to be able to solve a big problem you must  start from solving small small problems, by pushing and critical thinking I know I will be able to solve a problem where world 🌎 will be beneficiary. Before I started my journey as a backend developer, whenever I signed up on a any website with a particular information, whenever I want to sign in, if I didn't provide the information that I provided when I was signing up, I won't be able to login, I was wondering how this works, how computer understand that the information I wanted to use to log in is not as the same with the one I used during sign up, and some other things I used to think about on how it works. So after I completed my course as a backend developer, I also tried to create an API using Django where a user will  provide their email and password to sign up and their information will store in database (MySQL) and if user can't provide the same it won't be able to login, after I was done with it, I tested it using Postman during the development stage, after that I connected it  with fronted project (bootstrap) for client side. And everything works perfectly. But during the development stage I encounter some issues but I always run to Google to look for the solution and most of the solution I got it from stack overflow and some time I read Django documentation too. &lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Whatever you can dream in this life you can achieve it, where you started doesn't matter but have a clear goal and as a developer you must have it in your mind that you are a problem solver and the people that will solve problems must be someone who can  think and reason, I also learned from this small project importance of connection and being with people that can help. That what makes me look forward to connect to great people in tech industry and I found  HNG internship my first day in workspace made me connect to professional in tech industry, who can solve big problems and tackle them with critical thinking and they are also always available to help when you are stuck. What are you looking for join today [(&lt;a href="https://hng.tech/internship" rel="noopener noreferrer"&gt;https://hng.tech/internship&lt;/a&gt;]&lt;br&gt;
and your dream will be achieved because it's full with experienced people, networking opportunities and it changes career. I'm happy to be part of this great community, look forward to see you. Join now and thank me later [&lt;a href="https://hng.tech/hire" rel="noopener noreferrer"&gt;https://hng.tech/hire&lt;/a&gt;]&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
