Cara membatalkan komit dan tidak mengacaukannya

Tidak hanya pengembang pemula, tetapi juga para profesional yang bersemangat harus berusaha untuk membatalkan perubahan apa pun. Dan kemudian, hal pertama yang terlintas dalam pikiran adalah perintah git revert, sebagai cara teraman. Dan ada jebakan yang ingin saya ceritakan kepada Anda.



Mari kita ambil situasi sederhana: pengembang memutuskan untuk mengimplementasikan fungsi matematika. Tetapi di tengah jalan, dia menyadari bahwa akan lebih baik untuk menguraikan tugas ini menjadi, katakanlah, dua subtugas:



  • Menerapkan operasi aritmatika (penambahan, pengurangan, pembagian, dll.)
  • Menerapkan operasi numerik (nilai maksimum, nilai minimum, modulus angka, dll.)


Akan lebih mudah untuk memeriksa dan menguji. Tapi dia sudah mulai mengimplementasikannya, komit sudah dibuat, dan apa yang harus dilakukan? Jangan menulis ulang yang sama!





Pertimbangkan pohon komit. Kami melihat bahwa pengembang kami telah membuat cabang functions, kelas Aritmatika , yang bertanggung jawab untuk implementasi operasi aritmatika (komit A ), dan kelas Numerik , yang bertanggung jawab untuk implementasi operasi numerik (komit N ). Secara total, ada dua kelas dan dua komit.





git revert



, , functions numerical arithmetic. . git revert N arithmetic git revert A numerical. !





β€” .





? Arithmetic, Numerical!

, git revert . 4 :



A ⟢ N ⟢ revert A ⟢ revert N


revert .



git reset



, reset, revert . … . , .



git rebase



β€” git rebase .

numerical arithmetic



git rebase -i –root


, pick drop. . numerical:





.

master .





Metode ini berfungsi, hanya jika Anda bekerja di cabang privat, tetapi jika manipulasi ini dilakukan di cabang bersama, maka saat menerbitkan ( git push), gitdikatakan bahwa cabang tersebut kedaluwarsa, karena tidak ada komit di dalamnya dan membatalkan publikasi.



Agar tidak kesulitan dengan git, cobalah menguraikan tugas terlebih dahulu, jika tidak, Anda mungkin akan terkejut. Pernahkah Anda menghadapi situasi seperti itu, dan jika demikian, bagaimana Anda keluar dari situ?




All Articles