Do a "git diff" between two directories due to website owner making live changes

diff, git, php, text-comparison, version-control

Solution

As in if I just overwrite what's in my git repo, then run git status?

No, you don't have to overwrite anything.

You can do a diff between:

- the index representing your site in its latest versioned state (in the git repo)

- a dump of the current live site (a copy done in a different folder, not under version control)

You can then do (using `git` options) a:

git diff --git-dir=/path/to/repo/.git --work-tree=/path/to/dump .

You actually can execute that command from any folder: it will look for the git index and for the right working tree.

The OP Tom Busby adds in the comments:

In the end I solved it by simply overwriting the `.git` folder in my dump directory with the one from my git repo and running `git diff`.

Problem

I have a project I'm working on which I've set up in a git repo. Since I put my latest version live, the website owner has made some changes to the working/content by overwriting it directly. Obviously these changes were made outside of version control. I suppose I could overwrite the entire contents of my repo, then commit. That should work... but I don't really like the idea of doing that, especially if there's been any replacement of correct code/html-structure with stuff that's incorrect or bad practice. What I'd like to do is dump the website from live into another directory and do a recursive diff so I can only overwrite those files which have changed (any correct any issues if there are any)

Original source