I thought my question was trivial, but judging by the number of answers, clearly not! I understand "git read-tree -u -m 3 ; git commit" and it does exactly what I want. The context where I want to use this is for users who update files, can understand "take me back to the state I was in at 4pm yesterday before I mucked up my data" but who don't want to know about merging, branching, topics, etc, etc, But of course having taken them back to the 4pm commit, they then realise that they really need the 6pm commit or perhaps the 3pm commit. So anything which just throws away commits would be risky. The "git read-tree -u -m 3; git commit" allows me to present a simple straight line view of the data, which is perfect for the people I'm dealing with. Many thanks to you all, Cheers, Geoff Russell -- 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