Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 1.48 KB

README.md

File metadata and controls

56 lines (38 loc) · 1.48 KB

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)