One technique I've used in the past is to check only the modified files into git (one might use 'got' today).

Depending on the degree of trust of where the git repo is (tightly controlled local net vs Github), you should probably add /etc/master.passwd and pwd.db, in fact anything with passwords, private keys, etc. into .gitignore so they don't get revealed.

On a new machine, I'd:

    cd /
    git checkout .../etc_files
    mv etc_files/.git etc

Then use combinations of git status, git diff OR diff ./foo ../etc_files, git restore files that you want overwritten with the value from the previous machine, etc. Inevitably some files will change, so commit and push again when you have a workable new system.

Remember to rm /etc_files when done.

Read "Reset, restore and revert" in the git doc before you "try this at home, kids".

It worked OK in the absence of a dedicated tool for the job, which I doubt anyone will actually write.

YMMV. Use at own risk. Etc.

Reply via email to