-
1. Untuk Bermula
-
2. Git Basics
- 2.1 Mendapatkan suatu Repositori Git
- 2.2 Merekodkan Perubahan bagi Repositori
- 2.3 Viewing the Commit History
- 2.4 Undoing Things
- 2.5 Working with Remotes
- 2.6 Tagging
- 2.7 Alias Git
- 2.8 Summary
-
3. Git Branching
- 3.1 Branches in a Nutshell
- 3.2 Basic Branching and Merging
- 3.3 Branch Management
- 3.4 Branching Workflows
- 3.5 Remote Branches
- 3.6 Rebasing
- 3.7 Summary
-
4. Git on the Server
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Generating Your SSH Public Key
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Third Party Hosted Options
- 4.10 Summary
-
5. Distributed Git
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Summary
-
6. GitHub
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. Appendix A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Summary
-
A2. Appendix B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
1.6 Untuk Bermula - Persediaan Git untuk Kali Pertama
Persediaan Git untuk Kali Pertama
Sekarang anda sudah mempunyai Git pada sistem anda, anda perlu melakukan beberapa perkara lagi untuk menyesuaikan persekitaran Git anda. Anda sepatutnya melakukan perkara-perkara ini sekali sahaja pada mana-mana komputer yang akan anda gunakan; mereka akan kekal di antara proses peningkatan. Anda juga boleh menukarkannya pada bila-bila masa sahaja dengan menjalankan perintah ataupun commands lagi.
Git juga dilengkapi dengan alat yang kenali sebagai konfig git ataupun git config
yang membolehkan anda mendapatkan dan menetapkan pembolehubah konfigurasi yang mengawal semua aspek bahawa bagaimana Git akan kelihatan dan beroperasi.
Pembolehubah ini boleh disimpan di dalam tiga tempat berbeza:
-
fail
/etc/gitconfig
: Mengandungi nilai-nilai yang diaplikasikan kepada setiap pengguna pada sistem dan kesemua repositori mereka. Jika anda meluluskan pilihan--system
kepadagit config
, ia akan membaca dan menulis daripada fail ini secara spesifik. (Kerana ini adalah merupakan suatu fail konfigurasi sistem, anda akan memerlukan hak istimewa pentadbir ataupun admin atau superpengguna ataupun superuser untuk melakukan perubahan terhadapnya.) -
fail
~/.gitconfig
atau~/.config/git/config
: Nilai-nilai yang khususnya bersifat peribadi bagi anda, sebagai seorang pengguna. Anda boleh mengarahkan Git untuk membaca dan menulis kepada fail ini secara khususnya dengan meluluskan pilihan--global
. -
fail
config
dalam direktori Git (iaitu,.git/config
) bagi mana-mana sahaja repositori yang sedang anda gunakan: Ia akan khususnya kepada suatu repositori sahaja.
Setiap tahap akan menggantikan nilai di tahap sebelumnya itu, maka nilai-nilai dalam .git/config
akan menggantikan nilai yang berada di dalam /etc/gitconfig
.
Dalam sistem Windows, Git akan mencarikan fail .gitconfig
di dalam direktori $HOME
(C:\Users\$USER
bagi kebanyakan orang).
Ia juga akan masih mencarikan /etc/gitconfig
, walaupun ia adalah bersifat relatif bagi akar MSys, yang merupakan di mana tempat yang telah anda putuskan untuk memasang Git dalam sistem Windows anda semasa anda menjalankan pemasang ataupun installer.
Jika anda sedang menggunakan versi 2.x atau yang lebih lanjut bagi Git untuk Windows, terdapat juga suatu fail konfigurasi tahap sistem di
C:\Documents and Settings\All Users\Application Data\Git\config
dalam Windows XP, dan di C:\ProgramData\Git\config
dalam Windows Vista dan versi yang lebih baru.
Fail konfigurasi ini hanya boleh diubahkan melalui git config -f <file>
sebagai seorang pentadbir.
Identiti Anda
Perkara pertama yang perlu anda lakukan apabila anda memasang Git adalah anda harus menetapkan nama pengguna dan alamat e-mel anda. Ini adalah penting kerana setiap komit ataupun commit Git menggunakan maklumat ini, dan ia tidak dapat diubah ke dalam komit yang telah anda mula mencipta:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Sekali lagi, anda haruslah melakukan ini sekali sahaja jika anda meluluskan pilihan --global
, kerana kemudiannya Git akan selalu menggunakan maklumat itu bagi apa sahaja yang anda lakukan pada sistem tersebut.
Jika anda mahukan untuk menggantikan ini dengan suatu nama atau alamat e-mel yang lain bagi projek-projek spesifik, anda boleh menjalankan perintah tanpa pilihan --global
apabila anda berada di dalam projek tersebut.
Kebanyakan alat GUI akan membantu anda untuk melakukan sebegini apabile anda menjalankan mereka untuk kali pertama.
Penyunting Anda
Sekarang identiti anda telah siap disediakan, anda boleh mengkonfigurasikan penyunting teks lalai yang akan digunakan apabila Git memerlukan anda untuk menaipkan sesuatu mesej. Jika ia tidak dikonfigurasikan, Git akan menggunakan penyunting lalai sistem anda.
Jika anda mahukan untuk menggunakan suatu penyunting teks yang berbeza, misalnya Emacs, anda boleh melakukan yang demikian:
$ git config --global core.editor emacs
Dalam suatu sistem Windows, jika anda mahukan untuk menggunakan suatu penyunting teks yang berbeza, anda mestilah menyatakan jalan penuh untuk mencapai failnya yang boleh dijalankan. Jalan ini boleh berbeza bergantung kepada bagaimankah penyunting anda telah dibungkuskan ataupun packaged.
Dalam kes bagi Notepad++, suatu penyunting pengaturcaraan yang popular, anda berkemungkinan besar akan mahukan untuk menggunakan versi 32-bit, memandangkan pada waktu menuliskan ini, versi 64-bit tidak dapat menyokong semua plug-ins. Jika anda berada di dalam suatu sistem Windows 32-bit Windows, atau anda mempunyai suatu penyunting 64-bit dalam suatu sistem 64-bit, anda akan perlu menulis sesuatu sebegini:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
Jika anda mempunyai suatu penyunting 32-bit dalam suatu sistem 64-bit, program tersebut akan dipasang dalam C:\Program Files (x86)
:
$ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"
Note
|
Vim, Emacs dan Notepad++ adalah penyunting teks popular yang sering digunakan oleh para pembangun dalam sistem yang berasaskan Unix seperti Linux dan macOS atau suatu sistem Windows. Jika anda tidak biasa dengan penyunting-penyunting ini, anda mungkin perlu mencarikan arahan spesifik bagi bagaimana untuk menyediakan penyunting kegemaran anda dengan Git. |
Warning
|
Anda mungkin mendapati bahawa, jika anda tidak menyediakan penyunting anda sebegini, anda akan masuk ke dalam suatu keadaan yang cukup mengelirukan apabila Git mencuba untuk menjalankannya. Salah satu contoh dalam suatu sistem Windows ialah ia mungkin termasuk operasi Git yang dihentikan secara pramatang semasa suatu sunting Git dijalankan. |
Menyemak Tetapan Anda
Jika anda mahukan untuk menyemak tetapan konfigurasi anda, anda boleh menggunakan perintah git config --list
untuk menyenaraikan semua tetapan yang boleh dicarikan oleh Git pada masa itu:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Anda mungkin melihat kekunci lebih daripada satu kali, kerana Git membaca kekunci yang sama daripada fail yang berlainan (/etc/gitconfig
dan ~/.gitconfig
, sebagai contohnya).
Dalam kes ini, Git menggunakan nilai terakhir bagi setiap kekunci unik yang dilihat olehnya.
Anda juga boleh menyemak apakah nilai sesuatu kekunci tertentu yang difikirkan oleh Git dengan menaipkan git config <key>
:
$ git config user.name
John Doe
Note
|
Memandangkan Git mungkin membaca nilai pembolehubah konfigurasi yang sama daripada lebih daripada satu fail, ia adalah berkemungkinan bahawa anda akan mempunyai suatu nilai yang tidak dijangka bagi salah satu nilai tersebut dan anda tidak tahu mengapakah sedemikian. Dalam kes sebegini, anda boleh bertanyakan Git untuk mendapatkan keasalan ataupun *origin* bagi nilai tersebut, dan ia akan memberitahu anda apakah fail konfigurasi yang mempunyai kata mutlak dalam menetapkan nilai tersebut:
|