rsync

To backup files on the local device from directory source to destination (if destination does not exist, it will be created automatically) in "archive" mode (preserving permissions and timestamps) and skip files that are newer on the receiver:

$ rsync -auv source/ destination/

To perform a trial run with no changes made and show information about the changes:

$ rsync -aunv source/ destination/

--delete
remove files in destination if they do not exist in source
--existing
update only files existing in source
--exclude "pattern*"
--exclude "dir/"
exclude any directory called dir
--exclude "/dir1/**/file1"
exclude any file called file1 two or mode levels below a base directory called dir1
--progress
print information showing the progress of the transfer

To ignore permissions:

$ rsync -aunv --no-perms --no-owner --no-group source/ destination/

To list the differences made in last commit:

git diff @~

To list the differences made in last two commits:

git diff @~2

To list the differences of the second most recent commit:

git diff @~2 @~1

Find Differences between 2 Directories

$ diff -qr dir1 dir2

-q
report only when files differ
-r
compare recursively
-s
report when two files are the same

$ meld dir1 dir2