Copying the entire working copy using regular file system copy commands works fine. You can also zip/tar the backup.
If you are worried about disk space, you can also look at "git bundle", which could produce smaller files.
You can also get incremental backups by just starting a new repo on the external disk (git clone) and then pull the changes every time (git pull). There is not much difference between a backup and a working copy in a distributed system like git.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…