I pushed an update to my team's project where I: Deleted the root folder of a store asset I was no longer using Renamed an inherited class Modified and renamed older file names and class names Added a couple new scripts I wrote Recreated a few scripts with the same name Added multiple new .asmdef Assembly Definitions to store assets separate from the code I was working on I pushed these changes in one batch. My teammate pulled it, but had a few compiler errors because I pushed without checking for compile errors on the other platform we target. I switched platform, fixed the errors, pushed again. He pulled again. Everything was fixed, yippee. He was all up to date, so then he pushed his new code (completely separate from what I was working on). I pulled it, and went back to work on my stuff, and noticed that more than half the code I wrote disappeared. And even more interestingly, the folder with the asset I deleted was back, with collab reporting that my teammate had added it to the project. I thought to myself, no problem, I'll just roll back and port my code over, no big deal. Well, I rolled back, and the code either wasn't there or wasn't updated. I lost about an hour's work. I checked the push history in dashboard. It recorded everything I pushed, including the deletion of that entire folder. Yet somehow it wasn't propagated to my teammate when he pulled, along with half my other changes. It seems that most of the work I lost was from scripts I modified, rather than added. Another thing I noticed was that one small class I created with almost nothing in it, had a mismatching class name from its file name. It was one of the files I had changed file name of, but I'm not sure if the error was me, or a symptom of collab. If it was me, surely something so small couldn't mess up half of the push? Did we do something wrong, or is this a major bug? I'm kind of afraid to push changes again without backing up every time.