All Projects → trilbymedia → Grav Plugin Git Sync

trilbymedia / Grav Plugin Git Sync

Licence: apache-2.0
Collaboratively Synchronize your Grav `user` folder hosted on GitHub, BitBucket or GitLab

Projects that are alternatives of or similar to Grav Plugin Git Sync

Gitlink
A Jetbrains plugin that opens a local file under Git version control in its remote host using the default browser.
Stars: ✭ 101 (-44.81%)
Mutual labels:  plugin, gitlab, bitbucket
Source Integration
Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitweb, Cgit, Subversion, Mercurial and more
Stars: ✭ 167 (-8.74%)
Mutual labels:  plugin, gitlab, bitbucket
Notes
Some public notes
Stars: ✭ 1,248 (+581.97%)
Mutual labels:  gitlab, bitbucket
Git Copy History
Copy commit history from another repository
Stars: ✭ 84 (-54.1%)
Mutual labels:  gitlab, bitbucket
Integram
Integrate Telegram into your workflow – Trello, Gitlab, Bitbucket and other bots
Stars: ✭ 1,365 (+645.9%)
Mutual labels:  gitlab, bitbucket
Scm Backup
Makes offline backups of your cloud hosted source code repositories
Stars: ✭ 38 (-79.23%)
Mutual labels:  gitlab, bitbucket
Export Pull Requests
Export pull requests and/or issues to a CSV file. Supports GitHub, GitLab, and Bitbucket
Stars: ✭ 68 (-62.84%)
Mutual labels:  gitlab, bitbucket
Gittar
🎸 Download and/or Extract git repositories (GitHub, GitLab, BitBucket). Cross-platform and Offline-first!
Stars: ✭ 87 (-52.46%)
Mutual labels:  gitlab, bitbucket
Git Touch
An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter
Stars: ✭ 663 (+262.3%)
Mutual labels:  gitlab, bitbucket
Gitmails
An information gathering tool to collect git commit emails in version control host services
Stars: ✭ 142 (-22.4%)
Mutual labels:  gitlab, bitbucket
Android Ci
A docker image for building Android apps. Supports multiple SDK Build Tools.
Stars: ✭ 101 (-44.81%)
Mutual labels:  gitlab, bitbucket
Contributions Importer For Github
This tool helps users to import contributions to GitHub from private git repositories, or from public repositories that are not hosted in GitHub.
Stars: ✭ 147 (-19.67%)
Mutual labels:  gitlab, bitbucket
Trackdown
TrackDown - Issue Tracking with plain Markdown. If you are missing the "git clone" for your tickets from github.com or bitbucket.org, then this is for you. A lightweight Ticketing System for distributed and unconnected small Teams.
Stars: ✭ 10 (-94.54%)
Mutual labels:  gitlab, bitbucket
Git Repo
Git-Repo: CLI utility to manage git services from your workspace
Stars: ✭ 818 (+346.99%)
Mutual labels:  gitlab, bitbucket
Gitlab Branch Source Plugin
Jenkins-Plugin to create a multi-branch-project from gitlab
Stars: ✭ 76 (-58.47%)
Mutual labels:  plugin, gitlab
Scala Steward
🤖 A bot that helps you keep your Scala projects up-to-date
Stars: ✭ 812 (+343.72%)
Mutual labels:  gitlab, bitbucket
Git History Browser Extension
Agrega un botón a la interfáz de archivos de github para ver su historial / Add a button to the github file interface to see its history
Stars: ✭ 87 (-52.46%)
Mutual labels:  gitlab, bitbucket
Renovate
Universal dependency update tool that fits into your workflows.
Stars: ✭ 6,700 (+3561.2%)
Mutual labels:  gitlab, bitbucket
Webhooks
🎣 Webhook receiver for GitHub, Bitbucket, GitLab, Gogs
Stars: ✭ 601 (+228.42%)
Mutual labels:  gitlab, bitbucket
Browse At Remote
Browse target page on github/bitbucket from emacs buffers
Stars: ✭ 155 (-15.3%)
Mutual labels:  gitlab, bitbucket

Git Sync is a Plugin for Grav CMS that allows to seamlessly synchronize a Git repository with your Grav site, and vice-versa.

Git Sync captures any change that you make on your site and instantly updates your git repository. In the same way, Git Sync supports webhooks, allowing to automatically synchronize your site if the repository changes.

Thanks to this powerful bi-directional flow, Git Sync can now turn your site into a collaborative environment where the source of truth is always your git repository and unlimited collaborators and sites can share and contribute to the same content.

⚠️ With GitHub’s recent change of repository default branches being named ‘main’ instead of ‘master’ the following work-around is needed until GitHub also addresses automatic default branch re-routing:

  1. Once you have created your new repo, create a new branch called ‘master’
  2. Set the default branch of the repo to this newly created ‘master’ branch

Videos: Setup and Demo

Up and Running in 2 mins 2-way Sync Demonstration
Up and Running in 2 mins 2-way Sync Demonstration

Installation using the GPM (Grav Package Manager)

To install git-sync simply run this command from the Grav root folder

bin/gpm install git-sync

After having installed the plugin, make sure to go in the plugin settings in order to get the Wizard configuration started.

Features

  • Easy step-by-step Wizard setup will guide you through a detailed process for setting things up
  • Supported hosting services: GitHub, BitBucket, GitLab as well as any self-hosted and git service with webhooks support.
  • Private repositories
  • Synchronize any folder under user (pages, themes, config)
  • 2FA (Two-Factor Authentication) and Access Token support
  • Webhooks support allow for automatic synchronization from the Git Repository with secure Webhook URL auto-generated and support for Webhook Secret (when available)
  • Automatically handles simple merges behind the scenes
  • Easy one-click button to reset your local changes and restores it to the actual state of the git repository
  • Easy one-click button for manual synchronization
  • Support for Admin Quick Tray, so you can synchronize from anywhere in Admin
  • Ability to customize whether GitSync should synchronize upon save or just manually
  • Customize the Committer Name, choose between Git User, GitSync Commiter Name, Grav User Name and Grav user Fullname
  • With the built-in Form Process action gitsync, you can trigger the synchronization anytime someone submits a post.
  • Any 3rd party plugin can integrate with Git Sync and trigger the synchronization through the gitsync event.
  • Built-in CLI commands to automate synchronizations
  • Log any command performed by GitSync to ensure everything runs smoothly or debug potential issues

Command Line Interface

Git Sync comes with a CLI that allows running synchronizations right within your terminal. This feature is extremely useful in case you'd like to run an autonomous periodic crontab jobs to synchronize with your repository.

To execute the command simply run:

bin/plugin git-sync sync

You can also get a status by running:

bin/plugin git-sync status

Since version 2.1.1 you can now also programmatically change user/password via the bin/plugin git-sync passwd. This is useful if you have a container that resets your password, or you have some running scripts that require to programmatically update the password.

Requirements

In order for the plugin to work, the server needs to run git 1.7.1 and above.

The PHP exec() and escapeshellarg() functions are mandatory. Ensure the options to be enabled in your PHP.

Known Issues and Resolutions

Q: error: The requested URL returned error: 403 Forbidden while accessing... #39
A: This might be caused by your computer having stored in the registry a user/password that might conflict with the one you are intending to use.
Follow the instructions for resolving the issue...

Sponsored by

This plugin could not have been realized without the sponsorship of Hibbitts Design and the development of Trilby Media.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].