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?
git diff
dangit status
keduanya belajar untuk memperhitungkan status submodul akun bahkan jika dijalankan dari proyek utama. Anda tidak dapat melewatkan modifikasi submodul.GitSlave memungkinkan Anda mengelola beberapa repositori independen sebagai satu. Setiap repo dapat dimanipulasi dengan perintah git biasa, sementara gitslave memungkinkan Anda untuk menjalankan perintah tambahan di semua repo.
Repo-per-project memiliki kelebihan dengan komponenisasi dan build yang disederhanakan dengan alat seperti Maven. Repo-per-project menambahkan perlindungan dengan membatasi cakupan dari apa yang diubah oleh pengembang - dalam hal tindakan sampah yang salah.
sumber