Als verteiltes SCM unterscheidet git zwischen den Konzepten "Erstellen eines Schnappschusses der Arbeitskopie" (Festschreiben) und "Repositorys synchronisieren" (Push / Pull / Fetch).
Wenn Sie immer nur einen lokalen Klon Ihres Repositorys haben, ist Push nicht sinnvoll. Mit Github haben Sie jedoch einen anderen Klon (den auf Github), und das Übertragen Ihrer Änderungen hat mindestens einen Vorteil: das Sichern. Wenn Ihr Computer abstürzt, haben Sie noch alles auf Github geschoben.
Natürlich ist das nicht der Hauptzweck von Github. github ist für die gemeinsame Nutzung von Code vorgesehen. Wenn sich Ihr Projekt auf github befindet, können Sie anderen erlauben, von dort abzurufen, Ihr Projekt zu klonen, auf Abrufanforderungen von ihren Klonen zu reagieren oder vertrauenswürdigen anderen Push-Zugriff auf Ihr Repository zu gewähren.
Ein weiterer Grund für Push ist, wenn Sie mehrere lokale Klone verwenden. Dies kann für verschiedene Dinge nützlich sein: Beispielsweise möchten Sie möglicherweise gleichzeitig an zwei verschiedenen Zweigen arbeiten, oder Sie möchten möglicherweise destruktive Vorgänge in Ihrem Repository ausprobieren. Wenn alles wie beabsichtigt funktioniert, behalten Sie den modifizierten Klon bei (oder verschieben Sie Ihre Änderungen zurück zum ursprünglichen Repo). Wenn die Dinge jedoch nach Süden gehen, können Sie einfach den durcheinandergebrachten Klon löschen und zum ursprünglichen Klon zurückkehren (der noch unverändert ist). .
Einige Leute verwenden sogar Git für die Bereitstellung: Die Produktionsversion ist auch ein Git-Repo, und das Aktualisieren auf eine neuere Version ist eine Frage des Abrufens und Auscheckens (offensichtlich funktioniert dies nur, wenn Sie keinen Build-Schritt benötigen). Ich würde es nicht unbedingt für ernsthafte Dinge empfehlen, aber für kleine Dinge ist es eine einfache und pragmatische Lösung.