I am looking for a way of detecting up front whether a git pull or git merge would fail. The sort of script I want to perform is to update a server. git fetch git okay stop server backup data git merge start server Here git okay is a place holder for the command I am asking for. If a file has been changed outside of a commit then git pull fails with the following error. error: Your local changes to '...' would be overwritten by merge. Aborting. Please, commit your changes or stash them before you can merge. I would like git okay to perform the pre-merge checks described in git merge and return non-zero status so that the script aborts before the server is stopped. Possibilities I have looked for and not found include git merge --dry-run. My best line of thought is git status --porcelain | pre-merge-okay. That seems like a lot of work to make a pre-merge-okay that deals with things like benign untracked files. I have also asked this question on Stack Overflow but received no answers. http://stackoverflow.com/questions/20221383/ -- Pete Forman -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html