Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
docs:git:backing_up_repository [2010/04/29 13:40] – billh | docs:git:backing_up_repository [2010/05/28 11:28] (current) – billh | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== backing up repository ====== | ====== backing up repository ====== | ||
+ | |||
+ | ===== notes ===== | ||
+ | * do **NOT** use rsync | ||
+ | * git is smarter about what needs copied and will be faster | ||
+ | * a commit or other action could be in progress | ||
===== using a hook ===== | ===== using a hook ===== | ||
Line 30: | Line 35: | ||
</ | </ | ||
- | ===== notes ===== | + | ===== automating backup of many repos ===== |
- | * don't use rsync, because | + | * you have many projects that you want to backup, like to a usb drive |
+ | * clone each project< | ||
+ | cd / | ||
+ | git clone --mirror / | ||
+ | </ | ||
+ | * create a shell script (i.e. **pullall.sh**) to loop through each project and fetch< | ||
+ | #!/bin/sh | ||
+ | |||
+ | `which ls` -1d *.git | while read item;do | ||
+ | echo -e " | ||
+ | cd " | ||
+ | git fetch --all --force | ||
+ | cd .. | ||
+ | done | ||
+ | </ | ||
+ | * run the script with ./ |