Skip to main content

Push Component to Git Repo

By treating your blueprint as code, you gain control, collaboration, and automation โ€” all while retaining the visual editing power of JCB

What It Does

The Git Push system in JCB is part of the Package system, which allows you to manage complete components โ€” including all their related entities โ€” as version-controlled packages. You can:

  • Push a component as a fully built package to a configured Git repository
  • Initialize (Init) packages from a repository into your JCB system
  • Reset an existing package to match its latest repository version
  • Track changes to the entire package including views, fields, templates, and more

JCB treats your component as a grouped package of all related entities, and manages it like a software project using Git โ€” enabling branches, forks, pull requests, and CI workflows.

Key Features

  • ๐Ÿ“ฆ Package-Based Structure
    Each JCB component includes all its related entities โ€” such as Admin Views, Site Views, Fields, Templates, Dynamic GETs, Layouts, and Custom Code. When you push a component, JCB automatically builds this entire structure as a package and commits it to the configured repository.
  • ๐Ÿ”„ Version Metadata
    The repository stores:
    • Component version & build ID
    • Optional changelogs or commit history
    • Targeted Joomla versions (J3, J4, J5, etc.)
    • Supporting documentation like README, license, and contributors
  • ๐Ÿ–‡๏ธ Repository Binding
    Each component can be configured in JCB to connect with:
    • A specific Git repository (GitHub, Gitea, GitLab, Bitbucket, etc.)
    • A destination branch or tag
    • The Packages target area, which JCB uses for Push, Init, and Reset operations
  • ๐Ÿ” Secure Push with SSH/HTTPS
    Push operations respect your system Git configuration, including SSH keys and credentials.
  • ๐Ÿ“ Custom Commit Messages
    You can manually write commit messages or allow JCB to auto-generate them based on detected changes in the component's structure.

Use Cases

  • Push a stable component package to a Git repo for version control or distribution
  • Init components from a shared repository into a new JCB instance
  • Reset a broken or changed component to its last pushed state
  • Maintain and share reusable packages across multiple projects or environments
  • Collaborate with teams by syncing component logic through Git

Workflow

  • Configure your component in JCB and ensure it targets the Packages area
  • Click Push to build the package and send it to the linked Git repository
  • Use Init to browse available packages in the repo and pull new ones into your JCB system
  • Use Reset to overwrite a local component with the version stored in the repository
  • Continue editing, compiling, or redistributing as needed

Best Practices

  • Push frequently to back up and track your component development
  • Use Reset to recover from local misconfigurations or bugs
  • Use Init to import components from shared team repositories
  • Combine with changelogs and automated compile tools for complete CI workflows

Conclusion

JCBโ€™s Git integration via the Package system gives you full control over your componentโ€™s lifecycle. Push builds and exports your component as a structured package, Init brings packages into new environments, and Reset helps you recover or sync. This creates a modern, Git-powered workflow for Joomla development inside JCB.

Summary

Joomla Component Builder (JCB) allows you to manage component packages โ€” including all linked entities and metadata โ€” through Git. The Push, Init, and Reset features make it easy to share, restore, or reuse components across systems while retaining structure, versioning, and flexibility.