Sebagai SCM terdistribusi, git membedakan antara konsep 'buat snapshot dari copy pekerjaan' (komit) dan 'sinkronkan repositori' (push / pull / fetch).
Jika Anda hanya memiliki satu klon lokal dari repositori Anda, maka tidak masuk akal untuk mendorong. Namun, dengan github, Anda memang memiliki klon lain (yang ada di github), dan mendorong perubahan Anda setidaknya memiliki satu keuntungan: cadangan. Jika komputer Anda mati, Anda masih memiliki semua yang didorong sejauh ini di github.
Tentu saja, itu bukan tujuan utama github; github dimaksudkan untuk berbagi kode, jadi jika proyek Anda menggunakan github, Anda dapat mengizinkan orang lain untuk menarik dari sana, mengkloning proyek Anda, bertindak atas permintaan tarik dari klon mereka, atau bahkan memberi orang lain tepercaya akses push ke repositori Anda.
Alasan lain untuk mendorong adalah jika Anda menggunakan beberapa klon lokal. Ini dapat berguna untuk berbagai hal: misalnya, Anda mungkin ingin bekerja pada dua cabang yang berbeda secara bersamaan, atau Anda mungkin ingin mencoba operasi yang mungkin merusak pada repositori Anda; jika semua berfungsi sebagaimana mestinya, Anda menyimpan klon yang dimodifikasi (atau mendorong perubahan Anda kembali ke repo asli), tetapi jika semuanya berjalan ke selatan, Anda bisa menghapus klon yang kacau dan kembali ke yang asli (yang masih tidak berubah) .
Beberapa orang bahkan menggunakan git untuk penyebaran: versi produksi juga merupakan repo git, dan memperbarui ke versi yang lebih baru adalah masalah mengambil dan checkout (jelas, ini hanya berfungsi jika Anda tidak memerlukan langkah pembangunan). Saya tidak akan merekomendasikan itu untuk hal-hal serius, tetapi untuk hal-hal kecil ini adalah solusi yang sederhana dan pragmatis.