On Thu, Apr 12 2018, Hallvard Breien Furuseth wrote: > On 12. april 2018 20:47, Ævar Arnfjörð Bjarmason wrote: >> 1. Create a backup.git repo >> 2. Each time you make a backup, checkout a new orphan branch, see "git >> checkout --orphan" >> 3. You copy the files over, commit them, "git log" at this point shows >> one commit no matter if you've done this before. >> 4. You create a tag for this backup, e.g. one named after the current >> time, delete the branch. >> 5. You then have a retention period for the tags, e.g. only keep the >> last 30 tags if you do daily backups for 30 days of backups. >> >> Then as soon as you delete the tags the old commit will be unreferenced, >> and you can make git-gc delete the data. > > Nice! > Why the tags though, instead of branches named after the current time? Because tags are idiomatic in git for a reference that doesn't change, but sure, if you'd like branches that'll work too. > One --orphan branch/tag per day with several commits would work for me. > > Also maybe it'll be worthwhile to generate .git/info/grafts in a local > clone of the repo to get back easily visible history. No grafts in > the original repo, grafts mess things up. Maybe, I have not tried this with grafts.