Git: Jangan menamai tag ‘master’

$ git push origin master error: src refspec master matches more than one. error: failed to push some refs to ‘ssh:[email protected]/srv/git/repo’

Project git saya punya satu tag dengan nama ‘master’. Niatnya sih buat patokan bahwa commit tersebut bisa dijadikan acuan dasar project. Tetapi ternyata nama itu memunculkan sedikit permasalahan saat hendak push ke origin/master. Terjadi error seperti kutipan di atas, dan cara menanggulanginya adalah dengan menghapus tag tersebut. Seperti dijelaskan oleh sumber tulisan berikut.

Sumber: Refspec matches more than one | Jason Meridth Blog

Kita mencari persamaan ataukah perbedaan?

Kita terlalu sibuk mencari persamaan antara kita, sehingga lupa dengan berbagai perbedaan yang memisahkan kita. 😀 Jangan baper, tolong.

Saya punya dua project Laravel, sama-sama Laravel 5.3 dan di-track dengan Git, bedanya yang satu merupakan update dari 5.2 dan yang satunya lagi dibuat langsung versi 5.3. Daripada mempertahankan dua repositori Git terpisah, saya putuskan untuk menyatukan mereka. Karena versinya sama, saya anggap tak akan ada banyak kendala saat menyatukan. Tetapi ternyata ada beberapa perbedaan (diff) yang membuat konflik.

Langkah-langkah menyatukan dua repo itu saya dapatkan dari Stackoverflow^1.

# in proj2:
git remote add proj1 path/to/proj1
git fetch proj1
git merge proj1/master # or whichever branch you want to merge

Pada perintah terakhir di atas, terjadilah konflik tadi. Untungnya, ada git mergetool yang memanfaatkan Meld untuk melihat perbedaan dua file dengan cepat dan intuitif. Alhasil, perpaduan dua repo Git berlangsung lebih cepat dan efisien, tanpa me-resolve konflik secara manual.