Apa itu cabang topik git? Apakah itu berbeda dari cabang biasa dalam beberapa hal? Apakah ada cabang yang bukan cabang topik?
Jawaban:
Cabang topik biasanya adalah cabang ringan yang Anda buat secara lokal dan memiliki nama yang berarti bagi Anda . Mereka adalah tempat Anda mungkin bekerja untuk perbaikan bug atau fitur (mereka juga disebut cabang fitur) yang diharapkan membutuhkan waktu untuk diselesaikan.
Jenis cabang lainnya adalah "cabang jarak jauh" atau "cabang pelacakan jarak jauh". Jenis cabang ini mengikuti perkembangan pekerjaan orang lain dan disimpan di repositori Anda sendiri. Anda secara berkala memperbarui cabang ini (menggunakan git fetch
) untuk melacak apa yang terjadi di tempat lain. Saat Anda siap mengikuti perubahan orang lain, Anda akan menggunakan git pull
untuk mengambil dan menggabungkan.
Saya juga melihat jenis cabang lain yang pada dasarnya adalah pohon file yang sepenuhnya terpisah dalam repositori yang sama. Misalnya, repositori Git itu sendiri berisi kepala bernama man dan html yang berisi konten yang sama sekali berbeda dari cabang master . Saya tidak tahu apa jenis cabang ini biasanya disebut.
Ini bukan istilah teknis; itu hanya mengacu pada cabang yang dibuat untuk mengimplementasikan fitur tertentu atau memperbaiki bug. "Topik" pada dasarnya adalah alasan pembuatan cabang.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches menjelaskan ini dengan baik:
Cabang "topik" adalah cabang terpisah yang Anda gunakan saat mengerjakan satu "topik" (perbaikan bug, fitur baru, atau ide eksperimental). Disarankan untuk mengerjakan cabang topik alih-alih langsung di atas "master" karena:
{... kunjungi tautan ...}
Jadi, untuk semua alasan ini, disarankan untuk menggunakan cabang topik untuk mempersiapkan kiriman bahkan untuk kontribusi sederhana seperti perbaikan bug komit tunggal dan sejenisnya.
Contoh ini juga memberi contoh. Yang benar-benar membuat saya berpikir, ini mungkin yang sudah dilakukan sebagian besar toko. Semua proyek tangkas yang pernah saya lakukan. Saya memilih "Ini bukan istilah teknis" karena saya merasa ini tepat sasaran.
Sepertinya jenis cabang yang paling menonjol dan penting yang bukan cabang topik akan menjadi cabang rilis pada repositori utama yang tersedia untuk umum, bukan?
Itu mungkin tepat untuk Anda, tetapi itu tentang Anda dan proyek yang Anda pikirkan; itu tidak ditentukan oleh Git.
Sebagian besar sistem kontrol versi (terutama yang terpusat) menetapkan atau memberlakukan alur kerja tertentu, termasuk untuk apa menggunakan cabang. Git (dan sebagian besar VCS terdistribusi) mempertimbangkan alur kerja itu, cabang apa yang digunakan, kapan harus berkomitmen, repo apa yang digunakan untuk apa, dll. Semua dipilih oleh pengguna dan perjanjian di antara pengguna (kebijakan). Jadi Git tidak memaksakan ini secara teknis.
Inilah salah satu hal yang membuat Git sulit untuk saya pelajari. Oliver Steele menjelaskan hal ini dari pandangan pengguna, menulis tentang Kebijakan Komit .