-
1. Memulai
- 1.1 Tentang Version Control
- 1.2 Sejarah Singkat Git
- 1.3 Dasar-dasar Git
- 1.4 Command Line
- 1.5 Memasang Git
- 1.6 Pengaturan Awal Git
- 1.7 Mendapatkan Bantuan
- 1.8 Kesimpulan
-
2. Git Basics
- 2.1 Mendapatkan Repository Git
- 2.2 Recording Changes to the Repository
- 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 di Server
- 4.1 Protokol
- 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 Ringkasan
-
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. Kostumisasi Git
- 8.1 Konfigurasi Git
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Ringkasan
-
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
2.1 Git Basics - Mendapatkan Repository 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 Repository Git
Anda bisa mendapatkan project Git menggunakan dua pendekatan utama. Pendekatan yang pertama mengambil project atau direktori yang ada dan mengimpornya ke Git. Pendekatan yang kedua dengan melakukan clone ke repositori Git yang ada dari server lain.
Menginisialisasi Repositori di Direktori yang Ada
Jika Anda mulai melacak project yang ada di Git, Anda perlu masuk ke direktori dan jenis proyek
$ git init
Ini akan membuat sub direktori baru bernama .git
yang berisi semua file repositori yang diperlukan - kerangka penyimpanan repositori Git.
Pada titik ini, tidak ada yang dilacak dalam project Anda.
(Lihat Git Internals untuk informasi lebih lanjut tentang file apa saja yang terdapat di direktori .git
yang baru saja Anda buat.)
Jika Anda ingin memulai mengendalikan-versi file yang ada (berlawanan dengan direktori kosong), Anda mungkin harus mulai melacak file-file tersebut dan melakukan commit awal.
Anda bisa mencapainya dengan beberapa perintah git add
yang menentukan file yang ingin Anda lacak, diikuti dengan git commit
:
$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
Kita akan membahas apa yang diperintahkan commands ini hanya dalam satu menit. Pada titik ini, Anda memiliki repositori Git dengan file yang dilacak dan commit awal.
Menduplikat Repositori yang Ada
Jika Anda ingin mendapatkan duplikat repositori Git yang ada - misalnya, sebuah project yang ingin Anda kontribusikan - command yang Anda butuhkan adalah git clone
.
Jika Anda terbiasa dengan sistem VCS lain seperti Subversion, Anda akan melihat bahwa command-nya adalah "clone" dan bukan "checkout".
Setiap versi setiap file untuk sejarah project ditarik secara default saat Anda menjalankan git clone
.
Sebenarnya, jika disk server Anda rusak, Anda dapat sering menggunakan hampir semua duplikat pada klien mana pun untuk mengatur server kembali ke keadaan saat duplikat (Anda mungkin kehilangan beberapa kait sisi server dan semacamnya, tapi semua data berversi akan ada di sana - lihat Getting Git on a Server untuk lebih jelasnya).
Anda menduplikat sebuah repositori dengan git clone [url]
.
Misalnya, jika Anda ingin menduplikat pustaka yang terhubung dengan Git yang disebut libgit2, Anda dapat melakukannya seperti ini:
$ git clone https://github.com/libgit2/libgit2
Ini membuat sebuah direktori bernama ``libgit2``, menginisialisasi direktori .git
di dalamnya, menarik semua data untuk repositori tersebut, dan memeriksa salinan tugas versi terbaru.
Jika Anda masuk ke direktori libgit2
yang baru, Anda akan melihat file project di sana, siap untuk dikerjakan atau digunakan.
Jika Anda ingin menduplikat repositori ke dalam direktori yang bernama sesuatu selain ``libgit2``, Anda dapat menentukannya sebagai opsi baris command berikutnya:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Command itu melakukan hal yang sama seperti yang sebelumnya, tapi direktori targetnya disebut 'mylibgit`.
Git memiliki sejumlah protokol transfer yang berbeda yang dapat Anda gunakan.
Contoh sebelumnya menggunakan protokol https://
, tetapi Anda juga bisa melihat git://
atau user@server:path/to/repo.git
, yang menggunakan protokol transfer SSH.
Getting Git on a Server akan memperkenalkan semua pilihan yang tersedia yang bisa diatur server untuk mengakses repositori Git Anda dengan membahas kelebihan dan kekurangan masing-masing pilihan.