Skip to content

google/git-sync-changes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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)

About

Collaborative editing for git repositories

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages