Git dan Github: Panduan Pemula untuk Pemula Lengkap

Diterbitkan: 2017-08-15

Terlepas dari apa yang dikatakan televisi dan film kepada kita, kehidupan sebagai pengembang perangkat lunak tidak termasuk duduk di ruangan gelap, keyboard kita hanya diterangi oleh cahaya monitor, pikiran untuk berinteraksi dengan manusia lain yang menjijikkan. Tidak, kehidupan sebagai pengembang perangkat lunak bersifat sosial dan kolaboratif—terkadang sampai pada titik frustrasi. Itu sebabnya kami memiliki git dan Github.

Git adalah perangkat lunak kontrol versi yang membuat kolaborasi dengan rekan satu tim menjadi sangat sederhana…setelah Anda melewati kurva pembelajaran awal. Ini bisa mengintimidasi, tapi itulah mengapa saya di sini!

Apa itu Git?

Yah, itu bukan hanya cara kita orang Selatan mengusir penjahat dari beranda kita, aku akan memberitahumu itu.

Seperti yang saya katakan di atas, Git adalah perangkat lunak pengontrol versi. Itu dibuat oleh Linus Torvalds, orang yang menemukan Linux. Anda tidak harus menjalankan Linux untuk menggunakan git–Anda juga dapat menggunakannya di Windows dan Mac.

Git memungkinkan Anda dengan mudah melacak setiap revisi yang Anda dan tim Anda buat selama pengembangan perangkat lunak Anda. Anda semua berbagi satu repositori kode yang dikerjakan secara independen dan kemudian digabungkan kembali. Anda juga tidak perlu terhubung setiap saat karena proyek disimpan secara lokal di setiap mesin dan dari jarak jauh (mungkin di Github).

Git istimewa (dan cukup banyak wajib) karena Anda dapat kembali ke versi kode Anda sebelumnya, bercabang dan mengembangkan fitur tertentu tanpa memengaruhi apa pun atau siapa pun, dan menjaga keamanan dari korupsi data karena sifatnya yang terdistribusi.

Ini juga menyediakan enkripsi yang mudah diimplementasikan dan kompatibilitas lintas OS, serta alur kerja non-linear asinkron sehingga di mana pun Anda berada, Anda dapat mengerjakan beberapa aspek proyek Anda.

Pada dasarnya, jika Anda tidak menggunakan git, Anda membuat kode dengan satu tangan diikat ke belakang.

Kosakata yang Diperlukan

Saat Anda pertama kali mulai menggunakan git, itu bisa jadi menakutkan. Perintah dan konsep mungkin tampak sangat asing jika Anda belum pernah menggunakan kontrol versi apa pun sebelumnya. Anda akan mengambilnya dengan sangat cepat.

Gudang:

Sering disebut sebagai repo . Repositori adalah kumpulan file dan folder yang Anda gunakan git untuk dilacak. Repositori terdiri dari seluruh riwayat perubahan tim Anda pada proyek. Ini adalah kotak besar tempat Anda dan tim Anda memasukkan kode Anda.

Github:

Solusi penyimpanan jarak jauh paling populer untuk git repo. Ini juga memungkinkan Anda untuk mengatur izin akses untuk proyek, melacak dan mengirimkan bug, menerima permintaan fitur, berlangganan pemberitahuan repositori, dan menggunakan antarmuka grafis, daripada menggunakan baris perintah. Repos default ke publik, tetapi akun berbayar dapat memiliki akun pribadi.

Melakukan:

Anggap ini sebagai menyimpan pekerjaan Anda. Saat Anda berkomitmen ke repositori, itu seperti Anda mengumpulkan file seperti yang ada pada saat itu dan memasukkannya ke dalam kapsul waktu. Komit hanya akan ada di mesin lokal Anda sampai didorong ke repositori jarak jauh.

Dorongan:

Mendorong adalah roti untuk melakukan mentega. Komit melempar file Anda ke dalam kapsul waktu, dan mendorong adalah apa yang meluncurkan kapsul ke luar angkasa. Mendorong pada dasarnya menyinkronkan komit Anda ke cloud (sekali lagi, mungkin Github). Anda juga dapat mendorong beberapa komit sekaligus. Anda dapat bekerja secara offline, melakukan banyak pekerjaan, dan kemudian mendorong semuanya ke Github ketika Anda kembali ke peradaban dengan wifi yang manis dan manis itu.

Cabang:

Anda dapat menganggap repo git Anda sebagai pohon. Batang pohon, perangkat lunak yang ditayangkan, disebut Cabang Utama. Itu yang ditayangkan. Cabang-cabang pohon itu, yah, disebut cabang. Ini adalah contoh terpisah dari kode yang bercabang dari basis kode utama. Anda mungkin bercabang untuk satu fitur atau patch eksperimental. Dengan percabangan, Anda dapat menjaga integritas perangkat lunak dan memiliki cara untuk kembali jika Anda melakukan sesuatu yang benar-benar gila. Ini juga memungkinkan Anda untuk mengerjakan tugas Anda tanpa tersandung dengan cara tim Anda (atau mereka ke Anda).

Menggabungkan:

Ketika sebuah cabang dipoles, bebas dari bug (setidaknya sejauh yang Anda tahu), dan siap untuk menjadi bagian dari basis kode utama, itu akan digabungkan ke dalam cabang master. Penggabungan adalah seperti apa: mengintegrasikan dua cabang bersama-sama. Setiap kode baru atau yang diperbarui akan menjadi bagian resmi dari basis kode. Siapa pun yang bercabang dari titik penggabungan akan memiliki kode ini di cabang mereka juga.

Klon:

Mengkloning repo persis seperti apa kedengarannya. Dibutuhkan seluruh repositori online dan membuat salinan persisnya di mesin lokal Anda. Anda perlu melakukan ini karena sejumlah alasan, tidak sedikit di antaranya dimulai di tengah-tengah proyek dengan tim baru, bertukar workstation, atau memulai kembali dari repo yang rusak.

Garpu:

Forking sangat mirip dengan kloning, hanya saja alih-alih membuat duplikat dari repo yang ada di mesin lokal Anda, Anda mendapatkan repo yang sama sekali baru dari kode itu dengan nama Anda sendiri. Fitur ini terutama digunakan untuk mengambil basis kode yang ada dan menuju arah yang sama sekali baru dengannya, yang banyak terjadi pada perangkat lunak sumber terbuka; pengembang melihat ide dasar yang berhasil, tetapi ingin melakukannya dengan cara yang berbeda. Forking memungkinkan itu terjadi. Anda juga dapat bermain di repositori pengembang lain seperti kotak pasir pribadi Anda sendiri. Dan jika Anda melakukan sesuatu yang menurut Anda mungkin disukai, Anda dapat membuat permintaan tarik untuk menggabungkannya.

Tarik Permintaan:

Pull request adalah saat Anda mengajukan permintaan untuk perubahan yang telah Anda buat (baik pada cabang atau fork) untuk ditarik (atau digabungkan) ke dalam Cabang Master repositori. Ini adalah waktu yang besar. Ini adalah dimana keajaiban terjadi. Jika permintaan tarik disetujui, Anda akan secara resmi berkontribusi pada perangkat lunak, dan Github akan selamanya menunjukkan apa yang Anda lakukan. Namun, jika permintaan tarik ditolak karena alasan apa pun, penolak akan dapat memberikan umpan balik tentang mengapa permintaan ditolak dan apa yang dapat Anda lakukan untuk membuatnya diterima.

Memulai dan Perintah yang Diperlukan

Itu tidak terlalu buruk, bukan?

Benar. Sekarang setelah Anda memiliki gagasan yang jelas tentang apa itu git, saatnya untuk menggali dan mengotori tangan Anda.

Saya harus mengambil kesempatan ini untuk mencatat, bagaimanapun, bahwa saya akan menganggap Anda menggunakan baris perintah untuk berinteraksi dengan git. Tentu ada grafis git klien (dan Github bahkan memungkinkan Anda untuk melakukan cukup banyak segala sesuatu melalui antarmuka web itu), tapi untuk tujuan posting ini kita tidak akan repot-repot dengan mereka. Anda akan melakukan beberapa hal di luar terminal, tetapi baris perintah akan menjadi BFF baru Anda. Jadi itulah yang akan kita lakukan juga.

Cara Menginstal Git

Git (mungkin) tidak terpasang di komputer Anda, jadi kami harus memasangnya di sana. Untungnya, menginstal git sangat mudah, baik Anda menggunakan Linux, Mac, atau Windows.

Untuk Linux, buka terminal dan ketik sudo apt-get install git-all (jika Anda menggunakan Ubuntu. Jika tidak, ada daftar semua perintah instalasi paket Linux untuk distro lain yang Anda gunakan.)

Di Windows, ini sama sederhananya. Anda mengunduh penginstal dan menjalankannya.

Di Mac, Anda hanya perlu membuka terminal dan mengetik git . Jika git tidak diinstal, Anda akan melihat ini:

Setelah Anda mengklik Instal, Anda siap melakukannya.

Lihat? Sangat mudah!

Menggunakan Git

Di sinilah kesenangan dimulai. Sekarang Anda telah menginstal git, saatnya untuk… git-r-done! Hah! Tapi ini benar-benar saatnya untuk menggali dan belajar untuk mulai menggunakan bagian kecil dari sihir baris perintah yang menakjubkan ini. Dan tempat apa yang lebih baik untuk memulai selain Github?

Jadi pergilah dan daftarkan akun Github baru Anda (atau login jika Anda sudah memilikinya, dan saya akan segera bersama Anda).

Github gratis untuk repositori publik, dan Anda dapat memiliki repositori pribadi dengan harga tertentu. (FYI: Anda bisa mendapatkan repo pribadi gratis di Bitbucket, yang merupakan tempat yang kurang terkenal tapi mengagumkan). Untuk sebagian besar, opsi gratis di Github baik-baik saja bagi kebanyakan orang (dan berfungsi seperti resume hidup juga!), Tetapi beberapa klien dan pemberi kerja akan memerlukan privasi dan keamanan, jadi ada baiknya untuk memiliki opsi.

Setelah itu, Anda siap untuk menyiapkan repositori pertama Anda! Setelah Anda memverifikasi email Anda dan semua hal menyenangkan itu.

Anda akan ingin mengatur repositori di Github terlebih dahulu. Anda dapat melakukannya di komputer Anda dan kemudian mengunggahnya juga, tetapi lebih mudah untuk melakukannya di web terlebih dahulu.

Perhatikan bahwa saya tidak mengkhawatirkan tentang lisensi atau .gitignore dalam repo ini. Karena ini bukan perangkat lunak yang sebenarnya, saya tidak perlu khawatir tentang itu, tetapi dalam kasus produksi, .gitignore memungkinkan Anda, tentu saja, mengabaikan file di dalam direktori repo Anda. Dan Anda dapat membaca tentang lisensi apa yang dibutuhkan perangkat lunak Anda di sini.

Namun, saya menginisialisasi repo dengan file README, yang harus Anda gunakan untuk menyimpan dokumentasi dasar untuk proyek tersebut. Saya cenderung menggunakannya sebagai pelacak untuk perubahan besar, daftar tugas, dan berbagai jenis catatan saat saya bekerja. Tapi itu pada proyek pribadi. Pemimpin tim yang berbeda akan memiliki harapan yang berbeda.

Sekarang repo ada di Github, saatnya untuk membawanya ke mesin lokal Anda melalui kloning. Di sebelah kanan repo Anda, tepat di atas daftar file, Anda akan melihat tombol hijau yang bertuliskan "Klon atau Unduh." Klik dan Anda akan melihat ini:

Karena kita mengkloning, kita bisa mengabaikan semuanya kecuali bagian tentang Kloning dengan HTTPS. Anda tidak perlu mengonfigurasi apa pun. Anda hanya perlu memasukkan nama pengguna dan kata sandi saat Anda menekan.

Namun, pertama-tama, Anda perlu mengatur di mana Anda ingin repo Anda hidup di mesin lokal Anda. Buka terminal Anda. (Pengguna Windows, cari dan buka program bernama Windows Powershell. Saya juga menyarankan Anda mengklik kanan dan memilih "Run as Administrator.")

Perintah pertama yang perlu Anda pelajari adalah ls . Ini akan mencantumkan semua yang ada di direktori saat ini. Untuk mempermudah, mari kita buat folder dev kita hidup di direktori home komputer. Anda dapat menggunakan mkdir dev untuk membuat direktori bernama dev . Cukup langsung, bukan? Jika Anda ls lagi, Anda akan melihat folder baru terdaftar.

Kemudian Anda ingin pindah ke direktori baru Anda dengan menggunakan cd dev , yang merupakan perintah untuk mengubah direktori . Lihat, baris perintah tidak menakutkan sama sekali! Jika Anda perlu kembali ke direktori sebelumnya, Anda cukup menggunakan cd .. .

Setelah Anda di dalam folder dev baru Anda, waktu itu ke git partai ini dimulai. Hehehe.

Mulailah dengan menyalin URL yang muncul setelah Anda mengklik tombol hijau "Klon atau Unduh" di Github. Ini akan terlihat seperti ini: https://github.com/bjk1337/myfirstrepo.git

Perintah untuk Mengkloning Repositori Git dari Github

  • git clone https://github.com/bjk1337/myfirstrepo.git
  • ls
  • cd myfirstrepo – atau apa pun yang Anda beri nama repo Anda
  • ls

Setelah itu, terminal Anda akan menjadi seperti ini, menunjukkan file README yang Anda atur di Github. Selamat! Anda baru saja menggunakan Git untuk pertama kalinya, dan sekarang Anda siap untuk mulai mengembangkan.

The Nitty Gitty Seperti pasir

Sekarang setelah Anda memiliki repo di mesin Anda, Anda perlu belajar menggunakannya. Jadi mari kita percepat sedikit dan katakan bahwa Anda telah mengerjakan proyek keren dan memiliki beberapa file di direktori. Saatnya untuk melakukan dan mendorong mereka ke Github.

Menambahkan dan Mengkomit ke Repositori Git

  • git status – Perintah ini akan menunjukkan kepada Anda file apa yang belum ditambahkan ke daftar untuk komit berikutnya. Di sebagian besar aplikasi terminal, file yang tidak ditambahkan/ditambahkan masing-masing akan berwarna merah/hijau.
  • git tambahkan. - dengan menambahkan . di akhir perintah, Anda memberi tahu git untuk memasukkan semua yang ada di direktori. Jika Anda ingin menambahkan satu file, gunakan saja nama filenya. Seperti function.php .
  • git status – Tergantung pada apakah Anda menggunakan file . atau nama file, apa pun yang Anda tambahkan harus berwarna hijau sekarang.
  • git commit -m “tambahkan tiga file kosong” – Saat Anda mengkomit file-file ini, Anda juga harus meninggalkan pesan singkat agar rekan tim Anda (atau diri Anda di masa depan) tahu persis apa yang ada di komit itu. Konvensi git standar mengatakan bahwa Anda harus sesingkat dan sespesifik mungkin, dan memulai pesan menggunakan present tense dari kata kerja.

Terminal Anda akan memiliki banyak teks di dalamnya sekarang, dan seharusnya terlihat seperti ini. Tapi sekarang Anda tahu apa artinya semua itu!

Mendorong ke Repositori Git Jarak Jauh seperti Github

Mendorong ke repo bahkan lebih mudah dari itu.

  • git status – Anda harus selalu memeriksa untuk melihat tampilannya dan memastikan Anda berada di cabang yang benar.
  • git push
  • Masukkan nama pengguna dan kata sandi Anda untuk Github – Ketahuilah, bidang kata sandi akan tetap kosong, bahkan saat Anda mengetik. Tidak apa-apa. Cukup ketik dan tekan enter. Jika Anda menggunakan SSH, Anda akan melewati langkah ini.

Anda dapat pergi ke akun Github Anda dan memeriksa repo, dan file Anda akan ada di sana, komit pesan dan semuanya!

Percabangan dan Penggabungan

Dua perintah terakhir yang harus Anda kenali dengan menangani percabangan dan penggabungan. Seperti yang saya katakan di atas, bekerja di cabang membuat basis kode utama tetap aman, dan setelah perubahan Anda semua keren, Anda dapat menggabungkan semuanya kembali.

Mereka bisa sedikit rumit, jadi mungkin perlu beberapa dorongan untuk membuat mereka bermain bagus.

  • git checkout -b “branch1” – Perintah ini akan membuat cabang baru yang Anda beri judul dan menukar Anda dengannya sebagai cabang kerja Anda. Ini menggabungkan perintah git checkout dan git branch menjadi satu baris kode yang praktis.
  • touch awesome.html – ini hanyalah perintah filler untuk membuat file html baru yang akan saya gabungkan kembali menjadi master.
  • Dan seperti sebelumnya, Anda akan git status, git add awesome.html, git commit -m “create awesome.html”
  • git status lagi akan membiarkan Anda melihat bahwa semuanya sebagaimana mestinya.

Jika Anda mencoba untuk mendorongnya sebelum bergabung, Anda akan mendapatkan pesan bahwa Anda perlu mengatur asal repo. Origin adalah konvensi penamaan yang aneh untuk apa yang dianggap komputer Anda sebagai repo jarak jauh. Jadi pada dasarnya, Anda hanya mengatakan itu, ya, tidak apa-apa untuk mendorong cabang ini ke Github seperti yang dilakukan master. Inilah utas bagus tentang git Origin dari Stack Overflow.

Dengan menyingkir, itu akan memberi tahu Anda bahwa itu pergi ke branch1 -> branch1.

Anda dapat beralih kembali ke cabang master dengan git checkout master (kali ini tidak ada checkout -b karena Anda hanya menggunakannya pada pembuatan cabang baru, bukan menukar. Perintah saya tercampur dalam tangkapan layar di bawah dan mencoba git branch master .Itu tidak berhasil karena master sudah ada.

  • git status – Seperti biasa.
  • git merge branch1 – Karena semua yang ada di cabang itu baik-baik saja, kita dapat melanjutkan dan menggabungkan.
  • Jika kita git status lagi, kita akan melihat bahwa kita berada di depan Origin/master dengan 1 commit. Itu berarti kami belum mendorong semua perubahan yang kami buat ke Github.
  • git Push untuk menyinkronkan semuanya!

Periksa akun Github Anda–Anda akan melihat semua yang telah Anda lakukan tercermin di sana. Anda dapat melihat pesan komit yang berbeda, jumlah cabang dan komit yang telah kami buat, serta kontributor apa pun ke repo dan apa yang mereka lakukan juga.

Dan itu saja! Selamat! Anda baru saja mengguncang alur kerja git dasar Anda. Anda dapat melakukan cara, cara, cara lebih banyak barang rumit dari ini dengan git, tapi ini cukup dekat dengan apa yang Anda mungkin akan menggunakan setiap hari ketika Anda hanya ... Gitting dimulai.

Oh, Satu Hal Lagi!

Github Repo, myfirstrepo , yang saya gunakan untuk artikel ini masih aktif. Jangan ragu untuk memeriksanya, memainkannya, memotongnya, mengkloningnya, atau apa pun yang menurut Anda akan membuat Anda terbiasa menggunakan git. Selamat bersenang-senang! (Dan terima kasih telah mendukung saya dan semua permainan kata-kata git saya.)

Gambar thumbnail artikel oleh MchlSkhrv / shutterstock.com