https://github.com/f0e/zsh-gitsync
Sync local git changes between machines using Tailscale
https://github.com/f0e/zsh-gitsync
zsh zsh-plugin
Last synced: about 2 months ago
JSON representation
Sync local git changes between machines using Tailscale
- Host: GitHub
- URL: https://github.com/f0e/zsh-gitsync
- Owner: f0e
- License: mit
- Created: 2025-08-06T03:26:22.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-06T04:01:02.000Z (10 months ago)
- Last Synced: 2025-09-22T19:29:15.876Z (8 months ago)
- Topics: zsh, zsh-plugin
- Language: Shell
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# zsh-gitsync
Send and receive local git changes between machines using Tailscale.
Creates git patch files from local changes, then transfers them via Tailscale's [Taildrop](https://tailscale.com/kb/1106/taildrop) file transfer. Also generates & sends metadata files to validate compatibility before applying patches.
## Requirements
- `git`
- `jq`
- `tailscale`
## Usage
Send changes to another machine:
```bash
gitsend tailscale-machine-name
```
Receive and apply changes:
```bash
gitrecv
```
## Installation
### oh-my-zsh
```bash
git clone https://github.com/f0e/zsh-gitsync.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-gitsync
```
Add `zsh-gitsync` to your plugins in `.zshrc`:
```bash
plugins=(... zsh-gitsync)
```
### antidote/antibody
Add to your `.zsh_plugins.txt`:
```
f0e/zsh-gitsync
```
### zinit
```bash
zinit load "f0e/zsh-gitsync"
```
### zplug
```bash
zplug "f0e/zsh-gitsync"
```
### Manual
```bash
git clone https://github.com/f0e/zsh-gitsync.git ~/.config/zsh/plugins/zsh-gitsync
echo "source ~/.config/zsh/plugins/zsh-gitsync/zsh-gitsync.plugin.zsh" >> ~/.zshrc
```