Hallo,
Ich weiß. Aber es ist einfacher - und besser er nutzt überhaupt irgendetwas als gar nichts oder?
Ich würde hier Git nicht von GitHub lösen. Komfortable Software-Entwicklung ist mit Git plus GitHub Issues / Pull Requests möglich. Ein solches Tool braucht man früher oder später. GitHub bzw. GitLab ist einfach das Standardtool für solche Aufgaben. Es gibt natürlich andere Anbieter mit Unterstützung für andere Versionsverwaltungssysteme, aber der GitHub-Workflow mit Branches und Pull Requests ist in der Open-Source-Szene fest etabliert.
Natürlich erfordert das Einarbeitungszeit, aber bessere Tools für gemeinsames Entwickeln wird man für das Geld nicht bekommen.
Git ist ziemlich kompliziert, für einen Anfänger als recht. Man kann sich ausversehen die Historie zerschießen, die Absicherung dagegen ist nicht ganz trivial.
git reset --hard? ;)
Natürlich kann man einen Remote zerstören (einfach den HEAD auf einen alten Commit setzen), dann sind Änderungen verloren, sofern sie nicht jemand aus dem lokalen .git-Verzeichnis fischen kann und der Garbage-Collector noch nicht angelaufen ist.
Dazu muss man aber Force-Pushen. Das tut man nicht »aus Versehen«. Das tut man nur, wenn man sämtliche Warnungen von Git ignoriert hat.
Wenn man in Feature-Branches und mit GitHub Pull-Requests arbeitet, gibt’s das Problem eigentlich nicht.
Ich würde ja persönlich mercurial bevorzugen, das ist für Anfänger imho noch etwas einfacher als Git.
Kann ich nicht beurteilen, das letzte Mal, als ich Hg benutzt habe, war es noch völlig unausgereift (schon Jahre her, bevor die halbe Welt auf Git umgestiegen ist). Hier würde ich mir ansehen, ob BitBucket für Hg ähnliche Tools bereitstellt.
Mathias