If I have a reference directory /home/ref, a source directory
/home/src, and a destination directory /home/dest, is there any way to
use the /home/ref as the reference to backup the difference between
/home/src and /home/ref into /home/dest ?

In this way, the /home/dest only stores the difference of /home/src and
/home/ref.

To restore it, I can use the /home/ref and /home/dest to restore the
/home/src.

Anyone knows how to achieve this?

So basically what I want to know is a way to backup the difference
between the reference directory and the source directory, not the whole
source directory itself. Then later, I can restore the source directory
from the diff + reference directory.