| File | Date | Author | Commit |
|---|---|---|---|
| .gitattributes | 2026-01-10 |
|
[287976] Auto commit (git_push_auto.git:main): +1 ~0 -0 |
| README.md | 2026-01-19 |
|
[29d88d] Auto commit (git_push_auto.git:main): +0 ~1 -0 |
| git-push-auto.sh | 2026-01-19 |
|
[62feb5] Auto commit (git_push_auto.git:main): +0 ~1 -0 |
An automated Git commit and push helper utility that processes one or many repositories, detects changes, creates descriptive commit messages, and automatically pushes to remote repositories. Perfect for managing multiple projects in a workspace.
git-push-auto is a lightweight bash script designed to streamline the Git workflow by automatically staging all changes, generating detailed commit messages, and pushing to remote repositories. It supports processing multiple git projects using glob patterns, making it perfect for developers managing multiple repositories in a workspace folder. Ideal for continuous integration scenarios, automated backups, or any workflow where you need standardized, descriptive commit messages without manual intervention.
git clone ssh://theitguys@git.code.sf.net/p/git-push-auto/code git-push-auto
cd git-push-auto
chmod +x git-push-auto.sh
sudo cp git-push-auto.sh /usr/local/bin/git-push-auto
./git-push-auto.sh <path-or-pattern> [path-or-pattern...]
path-or-pattern - Path to a git repository or glob pattern matching multiple directories./git-push-auto.sh ~/projects/my-website
./git-push-auto.sh ./*
This processes all subdirectories that are git repositories, skipping non-git folders.
./git-push-auto.sh /path/to/workspace/*
./git-push-auto.sh ./SRC*
Processes all directories starting with "SRC" (like SRC_project1, SRC_project2, etc.)
./git-push-auto.sh ./project1 ./project2 ./project3
When processing multiple projects:
Found 3 git repositories to process
========================================
Processing 1 of 3: my-website
========================================
Repository : my-website
Branch : main
Changes : +3 ~2 -1
Pushing to origin/main ...
✓ Done
========================================
Processing 2 of 3: my-api
========================================
✓ No changes to commit in my-api
========================================
Processing 3 of 3: my-docs
========================================
Repository : my-docs
Branch : main
Changes : +1 ~0 -0
Pushing to origin/main ...
✓ Done
========================================
Summary:
Total repositories: 3
✓ Committed & pushed: 2
- Skipped (no changes): 1
========================================
git add -A (respecting .gitignore)The generated commit messages follow this format:
Auto commit (repository-name:branch): +added ~modified -deleted [Rrenamed] [Ccopied]
[Detailed breakdown of files by change type]
Auto commit (git_push_auto.git:main): +1 ~1 -0
Details:
Added (1):
- README.md
Modified (1):
- git-push-auto.sh
+ (plus) = Added files (new files)~ (tilde) = Modified/Edited files (changes to existing files)- (minus) = Deleted files (removed files)r = Renamed files (optional, only shown if present)c = Copied files (optional, only shown if present)+1 ~1 -0 = 1 new file added, 1 file modified, 0 files deleted+3 ~2 -1 = 3 added, 2 modified, 1 deleted+0 ~5 -0 r2 = 0 added, 5 modified, 0 deleted, 2 renamed+3 ~2 -1 r1 c2 = 3 added, 2 modified, 1 deleted, 1 renamed, 2 copiedPat Trainor (Pat@ITGuys.Business)
Hosted on SourceForge: ssh://theitguys@git.code.sf.net/p/git-push-auto/code
Please check with the repository owner for licensing information.