I've been in this situation several times where I ran tlmgr update --all, wait for it to complete, and then my tex file refused to compile while giving some strange errors. AFAIK it usually caused by significant changes in packages, or packages being removed. Most of the time I had to spent hours of researching on the Internet to fix the problem. And more than often I issued the update command (and put myself in a bad situation) when I shouldn't (deadline is near or so).
My questions:
How can I prevent similar problem from happen?
And if it happens, how can I address which part of my tex file that causing problem as fast as possible?
Or is there any reliable ways to restore my TeXLive distribution to its previous state? (Cuz running
tlmgr restore --alloften gave me some other weird errors, rather than get rid of them).


.logis the fastest way. Ad #3: you have not supplied enough information (for me, anyway): surelyrestoreis the way to go. But I'd combine #2 and #3: figure out the problematic package and restore those ones. And, of course: never update right before a deadline! (I see you know this, but it is still good advice.) – jon Mar 03 '17 at 04:57