-
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.2 Untuk Bermula - Suatu Sejarah Pendek bagi Git
Suatu Sejarah Pendek bagi Git
Sama seperti banyak perkara dalam kehidupan, Git bermula dengan serba sedikit pemusnahan kreatif dan kontroversi yang ketara.
Kernel Linux merupakan sebuah projek perisian sumber terbuka yamg mempunyai skop yang cukup besar. Untuk sebahagian besar seluruh panjang hayat bagi penyelenggaraan kernel Linux (1991-2002), perubahan pada perisian telah diluluskan sebagai tampalan ataupun patch dan fail yang diarkibkan. Pada tahun 2002, projek kernel Linux mula menggunakan suatu DVCS proprietari yang dikenali sebagai BitKeeper.
Pada tahun 2005, perhubungan antara komuniti yang membangunkan kernel Linux dan syarikat komersil yang membangunkan BitKeeper telah runtuh, dan status bebas daripada caj bagi alat tersebut telah dibatalkan. Ini mendorong komuniti pembangunan Linux (dan khususnya Linus Torvalds, pencipta Linux) untuk membangunkan alat mereka sendiri berdasarkan beberapa pengajaran yang dipelajari oleh mereka semasa menggunakan BitKeeper. Beberapa matlamat bagi sistem baru adalah seperti berikut:
-
Kelajuan
-
Reka bentuk yang mudah
-
Sokongan yang kuat untuk pembangunan bukan linear (ribuan cawangan selari)
-
Diedarkan sepenuhnya
-
Mampu mengendalikan projek besar seperti kernel Linux dengan cekap (kelajuan dan saiz data)
Sejak kelahirannya pada tahun 2005, Git telah berkembang dan menjadi matang supaya mudah digunakan dan pada masa yang sama mengekalkan kualiti-kualiti awal ini. Ia adalah cepat secara luar biasa, ia adalah sangat cekap dengan projek-projek besar, dan ia mempunyai sistem cawangan ataupun branching yang luar biasa untuk pembangunan bukan linear (Lihat Git Branching).