Git
Chapters ▾ 2nd Edition

2.1 Git Basics - Mendapatkan suatu Repositori Git

If you can read only one chapter to get going with Git, this is it. This chapter covers every basic command you need to do the vast majority of the things you’ll eventually spend your time doing with Git. By the end of the chapter, you should be able to configure and initialize a repository, begin and stop tracking files, and stage and commit changes. We’ll also show you how to set up Git to ignore certain files and file patterns, how to undo mistakes quickly and easily, how to browse the history of your project and view changes between commits, and how to push and pull from remote repositories.

Mendapatkan suatu Repositori Git

Lazimnya, anda boleh memperoleh repositori Git dalam salah satu daripada dua cara ini:

  1. Anda boleh mengambil suatu direktori tempatan yang kini tidak berada di bawah kawalan versi, dan mengubahkannya menjadi suatu repositori Git, atau

  2. Anda boleh mengeklonkan ataupun clone suatu repositori Git yang sedia ada dari tempat lain.

Dalam kedua-kedua kes, anda akan mempunyai suatu repositori Git di mesin tempatan anda, yang sedia untuk melakukan kerja.

Memulakan suatu Repositori dalam suatu Direktori yang Sedia Ada

Jika anda mempunyai suatu direktori projek yang pada masa ini bukan di bawah kawalan versi dan anda mahu untuk bermula mengawalkannya dengan Git, anda pertama sekali perlu pergi ke direktori projek itu. Jika anda tidak pernah melakukan perkara ini, ia akan kelihatan sedikit berbeza bergantung kepada apakah sistem yang anda jalankan:

Bagi Linux:

$ cd /home/user/my_project

bagi Mac:

$ cd /Users/user/my_project

bagi Windows:

$ cd /c/user/my_project

dan menaipkan:

$ git init

Ini akan menciptakan suatu subdirektori baru bernama .git yang akan mengandungi kesemua fail yang diperlukan bagi repositori anda — suatu rangka repositori Git. Pada masa ini, tiada apa-apa yang berada dalam projek anda telah dikesan lagi. (Sila lihat Git Internals untuk mendapatkan lebih banyak maklumat mengenai apakah fail yang betul-betul dikandungi dalam direktori .git yang baru anda menciptakan.)

Jika anda mahu untuk bermula dengan fail sedia ada yang merupakan kawalam versi (yang bukan merupakan suatu direktori yang kosong), anda sepatutnya mula mengesan fail tersebut dan melakukan suatu komit permulaan. Anda boleh melakukan sedemikian dengan beberapa perintah git add yang boleh menentukan fail yang anda mahu kesankan, diikuti oleh suatu git commit:

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

Kami akan meneruskan apa yang mampu dilakukan dengan perintah-perintah ini hanya dalam masa satu minit. Pada ketika ini, anda sudah mempunyai suatu repositori Git dengan fail yang dikesan dan suatu komit permulaan.

Mengeklonkan suatu Repository yang Sedia Ada

Jika anda ingin mendapatkan suatu salinan bagi suatu repositori Git yang sedia ada — contohnya, suatu projek yang anda ingin menyumbang kepada — perintah yang anda perlukan adalah 'git clone`. Jika anda sudah biasa dengan sistem VCS yang lain seperti Subversion, anda akan melihat bahawa perintah itu adalah "clone" dan bukannya "checkout". Ini adalah suatu perbezaan yang penting — bukan hanya mendapatkan satu salinan kerja sahaja, Git akan menerima suatu salinan penuh bagi hampir semua data yang ada pada pelayan. Setiap versi bagi setiap satu fail untuk sejarah sesuatu projek akan disalin semula secara lalai apabila anda menjalankan git clone. Sebenarnya, jika cakera pelayan anda rosak, anda boleh sering menggunakan hampir mana-mana klon sahaja pada mana-mana klien untuk menetapkan pelayan kembali ke keadaan yang ia berada dalam ketika masa ia telah diklonkan (anda mungkin kehilangan beberapa cangkuk di sebelah pelayan ataupun server-side hooks dan sebagainya, tetapi semua data versi akan berada di sana — sila lihat Getting Git on a Server untuk maklumat yang lebih lanjut).

Anda mengeklonkan repositori dengan git clone <url>. Sebagai contohnya, jika anda ingin mengeklon semula perpustakaan yang boleh dikaitkan dengan Git yang dikenali sebagai libgit2, anda boleh membuat sedemikian:

$ git clone https://github.com/libgit2/libgit2

Itu menciptakan suatu direktori yang bernama libgit2, bermula dengan suatu direktori .git yang berada di dalamnya, menarik ke bawah semua data untuk repositori itu, dan menyemak suatu salinan berfungsi bagi versi terbaharu. Sekiranya anda masuk ke dalam direktori libgit2 baru yang baru dibuat, anda akan boleh melihat fail projek di dalamnya, sedia untuk dilakukan kerja atau digunakan.

Sekiranya anda mahu mengeklonkan repositori ke dalam suatu direktori yang bernama sesuatu selain daripada libgit2, anda boleh menentukannya sebagai pilihan baris perintah yang berikut:

$ git clone https://github.com/libgit2/libgit2 mylibgit

Perintah itu melakukan kerja yang sama seperti yang sebelumnya, tetapi direktori sasaran adalah dikenali sebagai mylibgit.

Git mempunyai sejumlah protokol pemindahan ataupun transfer protocols yang berbeza yang boleh anda gunakan. Contoh sebelumnya menggunakan protokol https://, tetapi anda juga boleh melihat git:// atau user@server:path/to/repo.git, yang menggunakan protokol pemindahan SSH. Getting Git on a Server akan memperkenalkan semua pilihan yang tersedia yang boleh disediakan oleh pelayan untuk mengakses repositori Git anda dan apakah kebaikan dan keburukan bagi pilihan masing-masing.