Skip to content

Instantly share code, notes, and snippets.

@theothermattm
Created October 7, 2015 20:58
Show Gist options
  • Save theothermattm/5c73c4919dd48fee7581 to your computer and use it in GitHub Desktop.
Save theothermattm/5c73c4919dd48fee7581 to your computer and use it in GitHub Desktop.
Rsync files using .gitignore
# sync everything excluding things in .gitignore
# delete anything on target not in source
# include dotfiles and symlinks, also use compression
rsync -azP --delete --filter=":- .gitignore" . my-target-host:/my/target/directory
@mpontillo
Copy link

mpontillo commented Aug 10, 2017

Nice; thanks for this example. Thanks to this, I've just done something similar to sync a remote sandbox locally:

mkdir -p "$SANDBOX"
cd "$SANDBOX"
rsync -xvazP --delete "$RSYNC_REMOTE"/.git/ .git
rsync -xvazP --delete "$RSYNC_REMOTE"/.gitignore .gitignore
rsync -xvazP --delete --filter=":- .gitignore" "$RSYNC_REMOTE"/ .

@shuowang-ai
Copy link

shuowang-ai commented Jul 18, 2018

Very helpful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment