Pengantar Git

Diterbitkan: 2022-06-30

Ketika saya mulai membangun situs web, saya "berkode koboi", yang berarti saya sering mengedit file langsung di server. Hanya butuh beberapa situs yang rusak untuk menyadari bahwa ini adalah ide yang buruk. Kemudian saya mulai membangun situs secara lokal di komputer saya. Lebih dari sekali saya mengedit file lokal hanya untuk memindahkan file ke lokasi yang salah di klien FTP saya. Kadang-kadang itu berarti saya akan menimpa file yang tidak dapat saya perbaiki tanpa mencari-cari salinan cadangan yang mudah-mudahan saya simpan.

Jika Anda masih berurusan dengan FTP dan tidak dapat memutar kembali file Anda, maka inilah saatnya untuk mempelajari tentang penggunaan Git untuk kontrol versi.

Apa itu Kontrol Versi?

Sebuah sistem kontrol versi (VCS) adalah jenis perangkat lunak yang membantu pengembang perangkat lunak mengelola perubahan kode mereka dari waktu ke waktu. Sistem VCS yang baik akan melacak setiap perubahan kode yang dibuat. Ini berarti jika Anda memecahkan sesuatu, Anda dapat memutar kembali ke versi kode sebelumnya yang berfungsi, tanpa mencoba menekan "Batalkan" hingga semuanya berfungsi.

Dalam lingkungan tim, VCS akan membantu Anda bekerja dengan anggota yang berbeda dengan memberi Anda alat yang memungkinkan Anda menggabungkan perubahan kode bersama-sama ketika anggota yang berbeda memperbarui file.

Salah satu hal yang saya lakukan di Git adalah membuat cabang baru untuk setiap fitur yang saya bangun. Ini berarti saya dapat melacak perubahan yang saya buat di cabang, tetapi tetap kembali ke status situs saat ini dengan kembali ke cabang utama. Kita akan berbicara lebih banyak tentang alur kerja ini nanti.

Apa itu Git?

Git adalah sistem kontrol versi, tetapi bukan satu-satunya. Repositori WordPress utama dijalankan melalui SVN, meskipun Anda juga dapat menemukan salinan Git. Ada juga Mercurial, Visual Source Safe, VESTA, dan banyak pilihan lainnya.

Terlepas dari semua opsi ini, Git adalah yang digunakan hampir semua orang, jadi ini adalah kontrol versi yang akan kita pelajari hari ini.

Syarat dan Perintah Dasar Git

Sebelum kita menggali mekanisme cara menggunakan Git, kita perlu memahami beberapa istilah. Kami hanya akan membahas istilah yang akan Anda temui secara teratur.

Untuk daftar yang lebih lengkap dari semua yang dapat Anda temui, lihat ini Referensi Git atau ini daftar lengkap perintah Git .

Add : Ketika Anda telah membuat perubahan pada kode Anda, Anda akan menggunakan perintah git add untuk menambahkan perubahan sehingga dapat dikomit.

Cabang : Cabang adalah versi repositori Anda yang memiliki perbedaan dari proyek kerja utama. Semua repositori datang dengan cabang utama atau, lebih umum di proyek-proyek lama, cabang utama. Baru-baru ini Git, dan Github telah mulai mengubah nama cabang default dari master menjadi main karena masalah historis dengan kata master. Git 2.28 juga memungkinkan Anda untuk mengatur nama cabang default Anda untuk setiap proyek baru.

Checkout : Anda menggunakan perintah git checkout untuk beralih di antara berbagai cabang dalam repositori. Saat Anda menggunakan perintah ini, Git mengubah konten file atau menambah dan menghapus file yang berbeda antar cabang.

Clone : Perintah git clone digunakan untuk membuat salinan repositori dari repositori sumber. Anda akan menggunakan perintah ini untuk mendapatkan salinan lokal dari repositori jarak jauh sehingga Anda dapat mengerjakan kodenya.

Komit : Setelah Anda menggunakan git add , Anda perlu menggunakan git commit untuk dapat menyimpan status file Anda di git.

init : git init membuat repositori kosong untuk Anda dengan semua file dasar yang perlu dioperasikan Git.

Merge : Setelah Anda membuat perubahan pada satu cabang dan menambahkan serta mengkomitnya, Anda menggunakan perintah git merge untuk memigrasikan perubahan tersebut ke cabang lain.

Asal : Ini adalah nama default untuk versi utama repositori. Saya biasanya mengubah milik saya menjadi lebih deskriptif daripada Origin. Jika saya bekerja dengan Github maka saya mengubah pengaturan di Git sehingga Origin menjadi github. Ini membantu saya menjaga hal-hal yang jelas di kepala saya.

Push : Memperbarui cabang jarak jauh dengan komit yang telah dibuat di repositori versi lokal Anda.

Repositori : Ini juga bisa disebut "Repo" dan merupakan direktori dari semua file, dan riwayat Git perubahan pada file-file itu.

Status : git status menunjukkan status terkini dari repositori kerja Anda.

.gitignore : Ini adalah file tersembunyi yang berisi pola file yang tidak akan dilacak oleh Git. Jika Anda memiliki .DS_Store di file .gitignore Anda, maka itu akan mengabaikan semua file sial yang sering diletakkan macOS di dalam folder.

Hosting Repositori Git

Satu hal lain yang perlu dipahami sebelum menyelam adalah, meskipun Anda tidak memerlukan lokasi yang jauh untuk repositori Anda, tidak memilikinya akan mengurangi beberapa manfaat menggunakan Git. Tanpa repositori jarak jauh yang dihosting di tempat lain, Anda tidak akan memiliki cadangan kode Anda jika komputer Anda mati atau dicuri.

Github dan Bitbucket adalah dua tempat yang lebih populer untuk meng-host repositori Git Anda karena sebagian besar gratis, dan Anda dapat memiliki repositori pribadi. Itu berarti kode Anda ada di server orang lain jadi jika Anda tidak menyukai ide itu, Anda dapat menggunakan Gitlab di server Anda untuk meng-host repositori.

Menginstal Git

Di macOS, cara paling sederhana untuk menginstal git adalah dengan membuka Terminal dan ketik git yang akan meminta Anda untuk mengunduh alat Xcode Command Line untuk menginstal git. Setelah selesai, Anda dapat menjalankan git –version untuk melihat versi git yang Anda miliki. Jika itu tidak berhasil, ada beberapa cara lain untuk menginstal git di macOS.

Untuk pengguna Windows, Anda dapat menginstal Git dengan penginstal Git resmi. Git juga dibundel dengan aplikasi Github Desktop, yang akan kita bicarakan nanti.

Jika Anda menggunakan Linux, git harus dibundel dengan manajer paket Anda, atau Anda dapat melihat cara ini untuk menginstal git di Linux.

Mengonfigurasi Git Default

Setelah Anda menginstal Git, Anda perlu mengonfigurasinya sehingga setiap komit menggunakan nama dan email Anda dan pesan komit untuk menggunakan editor pilihan Anda untuk memasukkan komentar apa pun yang sesuai dengan komit. Kami akan melihat cara mengaturnya di macOS melalui aplikasi Terminal.

git config --global user.name "Your Name" akan menetapkan nama yang sesuai dengan setiap komit yang dibuat di komputer Anda.

git config --global user.email "[email protected]" akan mengatur alamat email yang terkait dengan setiap komit yang Anda buat.

git config --global core.editor vim akan membuat editor default untuk Git vim. Meskipun saya menyukai vim, bukan editor yang disukai semua orang. Jika Anda menggunakan Atom maka Anda akan menggunakan git config –global core.editor “atom –wait” atau git config –global core.editor “subl -n -w” untuk Sublime Text.

Jika Anda menyukai IDE maka Visual Studio Code juga memungkinkan Anda bekerja dengan Git langsung dari dalam aplikasi jika Anda ingin seperti halnya PHPStorm .

Membangun Repositori

Sekarang kita telah menginstal dan mengonfigurasi git, mari kita mulai repositori dasar. Buka Terminal Anda dan buat folder bernama test-repository dengan mengetik mkdir test-repository . Kemudian ketik cd test-repository untuk mengubah ke direktori test-repository Anda dan ketik git init .

Pada titik ini, Anda akan memiliki satu direktori tersembunyi di folder Anda bernama .git . Karena ini adalah file tersembunyi, Anda harus mengetikkan ls -a di Terminal untuk membuat daftar file tersembunyi.

Menggunakan git add

Sekarang mari kita buat file dengan mengetikkan touch test.txt ke dalam Terminal. Selanjutnya ketik git status untuk melihat file yang baru saja Anda tambahkan.

Seperti yang Anda lihat, file baru yang kami buat muncul dengan warna merah dan memberi tahu kami bahwa statusnya tidak terlacak. Itu berarti Git melihat file tersebut, tetapi tidak memiliki catatan apapun tentangnya.

Ketik git add test.txt untuk memberi tahu Git untuk mengatur file ini, lalu ketik git status lagi dan Git akan memberi tahu Anda bahwa Git mengetahui tentang file yang diubah.

Mengkomit File ke Git

Sekarang kita telah menambahkan file kita, kita perlu mengkomitnya sehingga Git menyimpan status file. Kita dapat melakukan ini dalam satu baris, tanpa membuka editor default kita dengan perintah berikut.

git commit -m 'adding our first file'

Bendera -m memberi tahu git bahwa kata-kata di dalam tanda kutip tunggal adalah komentar yang sesuai dengan perintah.

Sekarang repositori kami memiliki satu file di dalamnya dengan statusnya disimpan.

Buat Cabang

Kekuatan nyata Git datang ketika Anda mulai masuk ke percabangan. Katakanlah Anda ingin menulis banyak dalam file test.txt Anda tetapi tidak yakin apakah Anda akan menyimpannya dan ingin memastikan Anda dapat kembali ke file yang saat ini kosong. Kita bisa melakukan ini dengan cabang.

Untuk membuat cabang kita bisa mengetikkan git checkout -b new-branch . Ini adalah jalan pintas untuk membuat cabang pada saat yang sama saat kita memeriksa cabang, dan itulah yang saya gunakan setiap kali saya perlu membuat cabang.

Sekarang buka file test.txt kami, tambahkan beberapa teks ke dalamnya dan simpan. Kemudian gunakan git add dan git commit seperti di atas untuk menyimpan status file.

Selanjutnya, ketik git checkout master untuk beralih kembali ke cabang utama default dan kemudian lihat lagi isi file test.txt Anda. Anda akan melihat bahwa semua teks yang Anda ketik telah dihapus. Git bahkan akan menghapus file baru yang hanya ada di satu cabang, meskipun ia menyimpan catatannya sehingga tidak hilang.

Gabungkan Cabang

Sekarang, kita menyukai apapun yang kita tulis di file kita, jadi mari kita integrasikan dengan cabang utama kita. Pastikan Anda berada di cabang utama dan ketik git merge new-branch untuk mengintegrasikan perubahan Anda.

Jika Anda melihat isi test.txt sekarang, Anda akan menemukan perubahan Anda di cabang utama tepat saat Anda meninggalkannya.

Menggunakan Git dengan WordPress

Meskipun contoh di atas sangat sederhana, hanya itu yang Anda butuhkan untuk memulai dengan Git dalam proyek Anda. Jadi mari kita bicara tentang bagaimana Anda mendapatkan proyek WordPress menggunakan Git.

Pertimbangan pertama adalah level mana dalam hierarki folder Anda yang harus menjadi root dari repositori Git Anda. Jika Anda sedang membangun sebuah tema, maka Anda dapat menjadikan folder tema sebagai repositori Anda. Logika yang sama berlaku jika Anda membuat plugin.

Saya biasanya mengerjakan tema dan plugin secara bersamaan sehingga saya sering menggunakan folder wp-content sebagai lokasi repositori saya. Ketika saya melakukan ini, saya pastikan untuk mengabaikan folder unggahan sehingga saya tidak menambahkan semua gambar dan file yang diunggah ke repositori. Mereka mengacaukan repositori dan dapat memperlambat Git karena tidak bagus dalam mengompresi file gambar.

Jika saya menangani seluruh alur kerja penerapan, maka saya menjadikan folder root WordPress sebagai lokasi utama untuk repositori Git saya. Kemudian saya pastikan untuk menambahkan wp-content/uploads dan wp-config.php ke file .gitignore saya. wp-config.php khusus untuk setiap instalasi WordPress, jadi saya tidak ingin itu diterapkan pada versi file lain yang akan menyebabkan situs berhenti bekerja.

Anda dapat melihat salinan file .gitignore yang saya gunakan sebagai titik awal untuk setiap proyek. Diasumsikan bahwa Anda menggunakan wp-content sebagai root dari repositori Git Anda, jadi saya mengubah beberapa pola abaikan jika saya berada di root WordPress.

Aplikasi Git GUI

Meskipun kita telah membahas dasar-dasarnya melalui baris perintah untuk Git, tidak semua orang merasa nyaman dengan baris perintah, saya tahu saya tidak nyaman ketika saya mulai menggunakan Git. Bahkan sekarang, terkadang saya ingin melihat representasi visual dari apa yang dilakukan Git sebelum saya membuat perubahan apa pun pada pengaturan saya.

Untungnya ada beberapa klien GUI hebat untuk Git yang dapat Anda gunakan, jadi mari kita soroti beberapa.

Github Desktop (Windows/macOS)

Satu tempat yang bagus untuk memulai saat Anda melihat klien Git GUI adalah dengan aplikasi Github Desktop.

Banyak proyek sumber terbuka menggunakan Github sebagai repositori kode mereka untuk kolaborasi dan menggunakan aliran Github standar untuk melakukan pekerjaan mereka. Klien Github Desktop dibuat untuk membantu Anda menangani alur ini sehingga membuat permintaan tarik menjadi lebih mudah.

Jika Anda tidak yakin apa itu pull request, lihat Dokumentasi Github tentang permintaan tarik

Sayangnya untuk pengguna Linux, tidak ada aplikasi resmi Github Desktop, tetapi ada fork dari Github Desktop yang akan diinstal pada sistem Linux.

Menara Git (Windows/macOS)

Git GUI yang saya gunakan adalah Git Tower. Git Tower tersedia untuk macOS dan Windows. Ketika saya memulai dengan Git, saya merasa lebih mudah untuk menyelesaikan konflik dan melihat apa yang berbeda antara file di dalam GUI ini.

Salinan Kerja (iOS/iPadOS)

Jika Anda sebagian besar bekerja dari iPad, seperti yang saya lakukan, maka Anda harus melihat Working Copy. Working Copy adalah klien Git berfitur lengkap yang bekerja dengan iOS dan iPadOS. Bahkan fitur integrasi Pintasan sehingga Anda dapat mengotomatiskan bagian dari alur kerja Git Anda.

Membungkus

Meskipun kami telah membahas banyak hal dalam pengetahuan Git Anda hari ini, tidak mungkin satu posting blog dapat membahas topik tersebut secara lengkap. Anda dapat melanjutkan pembelajaran Anda dengan dokumentasi bantuan Nexcess serta sumber daya yang luar biasa ini.

  • Dokumentasi Git
  • Buku Pro Git
  • Pelajaran Git Laracasts
  • Sumber daya eksternal Git sendiri

Dengan menggunakan Git untuk mengelola proyek klien Anda, Anda akan menghemat sakit kepala karena Anda dapat memutar kembali perubahan atau membuang seluruh cabang jika Anda tidak lagi menginginkan pekerjaan yang telah Anda lakukan. Tidak ada lagi Ctrl + Z sampai Anda merasa telah mundur cukup jauh, Git akan melacak semuanya untuk Anda.