GitHunt
OJ

ojarjur/git-sync-changes

Collaborative editing for git repositories

Collaborative editing for git repositories

This repository implements shared worktrees for git.

This is done by storing the worktree state in the repository itself.

The result is that anyone with push permissions on the repository
can sync their local worktree with that shared worktree, and then
view and edit pending changes prior to committing them.

Disclaimer

This is not an official Google product.

Installation

To install, simply copy the git-sync-changes script to somewhere
in your PATH.

Usage

The shared worktree functionality is implemented with a new git
command called git-sync-changes. Running that command will sync
pending changes between your local worktree and the shared worktree,
leaving the two in the same state.

The command takes two optional parameters, the remote repository
storing the shared worktree, and the name of that tree.

For example:

git sync-changes origin shared-work

will sync your local worktree with the worktree named shared-work
in the remote named origin.

If the worktree name is not specified, the tool will default to
a worktree named after the current user and the current checked-out
branch.

If the remote is not specified, then it defaults to origin.

Each invocation of the command only performs a single sync, so to
keep your worktree continuously updated, run it periodically.

For instance, you could run the command in a loop with something
like:

( while [ 1 ]; do
    git sync-changes
    sleep 30
  done)

Languages

Shell100.0%

Contributors

Apache License 2.0
Created January 29, 2018
Updated January 29, 2018
ojarjur/git-sync-changes | GitHunt