Article Image

I still have projects, where i need to push my changed local files manually to an FTP-Server. Often these changes on different files are big enough and so widely spread, that I lose track which files I have changed since the last update.

In order to avoid updating ALL remote files I found this nice little command line snippet which you can use, if your local codebase is managed via git (If not, DO IT! :P). So every time you made some changes, commit them and then just type in following command.

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT HEAD | xargs tar -rf ~/Desktop/update.tar

All changes you made with your last commit are exported into the update.tar file on your desktop.

Of course you can replace HEAD with any other commit id or even a commit range like HEAD..e26f194.

Blog Logo

Tom Raithel


comments powered by Disqus

A dumping ground for web development stuff

Back to Overview