我们有一些大项目,以前一直用的TFS管理,现在需要转移到git来使用。
但是转移的过程中遇到一些问题。
比如,在TFS里面,我们有一个核心项目,其他很多项目都会引用这个核心项目。在GIT里面,每个项目就是一个repo,所以repo之间如何互相引用呢?
我画了一个示意图:
我试过submodule和subtree,他们都会在主项目的repo下拷贝一份引用的项目的代码,这样代码就会有很多份。GIT有没有一种方式能像TFS一样,无论多少个项目互相引用,都只有一份代码,而且很好维护?
目前我们的项目结构大概是这样的:
如果用GIT,那么product_core的代码就会被拷贝很多份。有没有会自动引用项目且不会拷贝多份代码的解决方案呢?
Jika ia adalah projek java, disyorkan untuk menggunakan
Maven
ataugradle
untuk mengurus kebergantungan projek, dan kemudian gunakan git untuk mengurus kejuruteraan projek. Sudah tentu,Maven
dangradle
juga boleh mengurus projek bukan java.Selepas beberapa carian, soalan ini serupa dengan tajuk:
http://programmers.stackexchange.com/questions/114719/organizing-git-repositories-with-common-nested-sub-modules
Pemahaman saya ialah modul anda digandingkan bersama. Tetapi kadang-kadang ia tidak dapat dielakkan.
Komponen atau kod awam hendaklah ditukar sesedikit mungkin. Modularisasi, tidak disyorkan untuk mengurangkan beberapa projek menjadi satu projek
untuk mengurus. Banyak bahasa kini mempunyai komponen pihak ketiga mereka sendiri, dan pemalam ini juga menggunakan git
Pengurusan, keluarkan versi yang stabil dan kemas kini dalam projek apabila komponen dikemas kini pada masa hadapan.
Saya faham bahawa teras anda bersamaan dengan projek asas Mengapa hubungan rujukan ini harus dikekalkan pada tahap kod sumber? Kod sumber projek harus agak bebas Apakah tujuan digabungkan bersama seperti ini?
Bukankah maven sudah biasa melakukan kerja ini? Mengapakah ia mesti dipetik pada peringkat kod sumber?
Pisahkannya kepada aplikasi bebas struktur pembangunan berbilang cawangan anda akan hancur tidak lama lagi