#!/bin/bash
# Set the desired commit message
COMMIT_MESSAGE="Batch commit"
# Specify the number of files to process in each batch
BATCH_SIZE=10
# Set the maximum file size in bytes (99 MB)
MAX_FILE_SIZE=$((99 * 1024 * 1024))
# Get the list of modified files
MODIFIED_FILES=$(git status --porcelain | awk '{print $2}')
# Count the total number of modified files
TOTAL_FILES=$(echo "$MODIFIED_FILES" | wc -l)
# Loop through the modified files in batches
for ((i = 1; i <= TOTAL_FILES; i += BATCH_SIZE)); do
# Get the files for the current batch
BATCH_FILES=$(echo "$MODIFIED_FILES" | awk "NR >= $i && NR < $i + $BATCH_SIZE")
# Filter out files larger than the maximum size
VALID_FILES=""
for FILE in $BATCH_FILES; do
FILE_SIZE=$(stat -c%s "$FILE")
if (( FILE_SIZE <= MAX_FILE_SIZE )); then
VALID_FILES+=" $FILE"
fi
done
if [[ -n "$VALID_FILES" ]]; then
# Add the valid files to the staging area
git add $VALID_FILES
# Commit the changes with the specified message
git commit -m "$COMMIT_MESSAGE"
# Push the changes to the remote repository
git push origin
# Clear the staging area
git reset HEAD
fi
done
Code language: PHP (php)I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services โ all in one place.
Explore Hospitals