This error occurs when trying to push, pull, or fetch from a Git hosting server (GitHub, GitLab, Bitbucket, etc.) that is temporarily in maintenance mode for upgrades, backups, or system updates.
This error indicates that the Git hosting server you are trying to access is currently in maintenance mode. When servers enter maintenance mode, administrators temporarily restrict or block Git operations to perform critical tasks like software upgrades, database migrations, security patches, or system backups. During maintenance mode, the behavior varies by platform. GitHub Enterprise Server blocks all HTTP and Git access, responding with HTTP 503 (Service Unavailable) errors. GitLab Maintenance Mode allows read-only operations like git clone and git pull to continue working, but blocks all write operations (git push) with an explicit error message. Bitbucket and other platforms have similar patterns. This is a server-side issue that cannot be resolved by the client. The maintenance is typically scheduled in advance and communicated through status pages, banners, or email notifications. The error is temporary and resolves automatically once administrators complete maintenance and restore normal operations.
Visit your Git hosting provider's status page to see if maintenance is scheduled or ongoing:
# GitHub Enterprise Server status
# Visit https://[your-github-enterprise-domain]/setup/maintenance
# GitLab status (for GitLab.com)
# Visit https://status.gitlab.com
# Check for maintenance banners on the web interfaceMost platforms display maintenance windows prominently on their status pages with expected duration and completion times.
Maintenance mode is a temporary state. The best approach is to wait for administrators to complete the maintenance:
# Check status periodically
git fetch origin
# If still in maintenance, you'll see the error again
# Once maintenance completes, retry your operation
git push origin mainMost scheduled maintenance windows complete within 30 minutes to a few hours. Check status notifications for estimated completion time.
Continue developing locally while the server is unavailable:
# Continue committing work locally
git add .
git commit -m "feat: add new feature"
# Your commits are saved locally and can be pushed later
git log --oneline -5
# Once maintenance completes, push all pending commits
git push origin mainGit's distributed nature allows you to continue working without server access. Your commits are safely stored locally until the server becomes available.
If maintenance extends beyond the scheduled window or if no maintenance was announced:
# For self-hosted instances, check with your DevOps team
# For cloud services, check status pages or support channels
# GitHub Enterprise Server admins can check maintenance status via:
ssh -p 122 admin@[hostname]
ghe-maintenance -sFor enterprise or self-hosted instances, your internal IT or DevOps team can provide updates on maintenance progress.
Understanding Platform Differences:
Different Git hosting platforms handle maintenance mode differently:
- GitHub Enterprise Server: Blocks all Git operations (fetch, clone, push, pull) and returns HTTP 503 errors. All web and API access is refused during maintenance.
- GitLab Maintenance Mode: Allows read-only operations (git clone, git pull) to continue but blocks write operations (git push) with the message "Git push is not allowed because this GitLab instance is currently in (read-only) maintenance mode."
- Bitbucket Server: Similar behavior to GitHub Enterprise, with all operations typically blocked during maintenance.
CI/CD Impact:
When a Git server enters maintenance mode, CI/CD systems are affected:
- No new jobs or pipelines can start
- Running jobs may continue with stale status indicators
- Webhooks and integrations may be delayed or missed
- Scheduled pipelines are paused until maintenance completes
For Self-Hosted Administrators:
If you're managing a self-hosted Git server, follow these best practices:
- Schedule maintenance during low-traffic periods (evenings, weekends)
- Notify users at least 24-48 hours in advance via email and status banners
- Provide an estimated maintenance window duration
- Use read-only mode (if supported) instead of full downtime when possible
- Test the maintenance procedure in a staging environment first
- Have a rollback plan if issues occur during maintenance
Emergency Maintenance:
Unscheduled emergency maintenance may occur without advance notice to address:
- Critical security vulnerabilities requiring immediate patching
- Data corruption or integrity issues
- Hardware failures requiring immediate replacement
- DDoS attacks or security incidents
In these cases, administrators prioritize system stability and security over user convenience.
warning: BOM detected in file, this may cause issues
UTF-8 Byte Order Mark (BOM) detected in file
fatal: Server does not support --shallow-exclude
Server does not support --shallow-exclude
warning: filtering out blobs larger than limit
Git partial clone filtering large blobs warning
fatal: Server does not support --shallow-since
Server does not support --shallow-since in Git
kex_exchange_identification: Connection closed by remote host
Connection closed by remote host when connecting to Git server