Salah satu hal yang saya suka tentang cara saya mengatur Subversion adalah saya dapat memiliki satu repositori utama dengan banyak proyek. Ketika saya ingin mengerjakan sebuah proyek, saya dapat memeriksa proyek itu saja. Seperti ini
\main
\ProductA
\ProductB
\Shared
kemudian
svn checkout http://.../main/ProductA
Sebagai pengguna baru di git, saya ingin menjelajahi sedikit praktik terbaik di lapangan sebelum melakukan alur kerja tertentu. Dari apa yang saya baca sejauh ini, git menyimpan semuanya dalam satu folder .git di root pohon proyek. Jadi saya bisa melakukan satu dari dua hal.
- Siapkan proyek terpisah untuk setiap Produk.
- Siapkan satu proyek besar dan simpan produk dalam sub folder.
Ada ketergantungan di antara produk-produk tersebut, jadi satu proyek besar tampaknya cocok. Kami akan menggunakan server tempat semua pengembang dapat membagikan kode mereka. Saya sudah mendapatkan ini berfungsi melalui SSH & HTTP dan bagian yang saya suka. Namun, repositori di SVN sudah berukuran banyak GB, jadi menyeret seluruh repositori pada setiap mesin sepertinya ide yang buruk - terutama karena kami ditagih untuk bandwidth jaringan yang berlebihan.
Saya membayangkan bahwa repositori proyek kernel Linux sama besarnya sehingga harus ada cara yang tepat untuk menangani ini dengan Git tetapi saya belum menemukannya.
Apakah ada pedoman atau praktik terbaik untuk bekerja dengan repositori multi-proyek yang sangat besar?