Saya seorang pelajar, dan saya sedang membangun bersama beberapa rakan sekelas, dan merancang untuk menggunakan git
Pada masa ini, git telah membina gudang kosong dan cangkuk boleh disegerakkan secara automatik ke projek web.
Memandangkan kod pada pelayan bukan gudang, kini saya mahu mengimport kod pada asalnya pada pelayan lain ke dalam gudang kosong, dan kemudian biarkan ahli pasukan menariknya. Bagaimana untuk melakukannya? Cara yang saya buat adalah dengan mula-mula menarik kod ke kawasan setempat, dan kemudian menolaknya dari kawasan setempat ke gudang pusat Disebabkan penyegerakan automatik, gudang pusat akan menyegerakkan kod yang ditolak ke projek web secara automatik. Tetapi saya secara peribadi merasakan perlu ada cara yang lebih baik. Tolong beritahu saya?
Juga, adakah repositori git umum digunakan untuk keseluruhan projek? Atau sebahagian daripada projek? Jika ia adalah keseluruhan projek, dan pengguna memuat naik gambar, bukankah gambar yang dimuat naik perlu dikemas kini secara tempatan setiap kali ia dikemas kini?
Saya telah mencari maklumat untuk masa yang lama, tetapi terdapat sangat sedikit maklumat mengenai aspek ini. Tolong berikan saya penjelasan terperinci.
===========================
Helo, pasukan kami menghadapi masalah dalam projek sekarang Disebabkan pepijat dalam projek semasa 5.1, rakan sekelas membetulkan pepijat di rumah, tetapi komputernya tidak memasang git, jadi dia menggunakan ftp untuk memuat naiknya. . Sekarang kerana ftp digunakan untuk memuat naik, gudang pusat tidak digunakan, jadi pasca penerimaan cangkuk tidak dicetuskan, dan pasca penerimaan tidak akan ditolak ke projek laman web (agak berbelit-belit, saya harap seseorang dapat memahami) , jadi sekarang adalah mustahil untuk mendapatkan tarikan menggunakan git Bahagian yang dia muat naik. Jadi masalahnya sekarang ialah saya perlu menulis satu lagi cangkuk Setelah projek laman web diubah (jika ia dimuat naik oleh ftp), ia akan ditarik ke gudang pusat, dan kemudian ia boleh diperolehi secara tempatan. Pastikan gudang pusat dan projek tapak web boleh disegerakkan dalam kedua-dua arah. Mungkin pendekatan kami tidak begitu baik, tetapi buat masa ini kami hanya boleh melakukan ini Sudah tentu, kami berharap bahawa tuan akan memberikan kaedah yang lebih baik dengan cara ini. Terima kasih sekali lagi
Penerangan masalah tidak begitu jelas, jadi saya akan menerangkan secara ringkas apa yang saya faham.
Kaedah pemindahan kod tiada masalah.
Secara amnya, gudang yang digunakan oleh git ialah keseluruhan projek, yang mungkin mengandungi beberapa submodul.
Apa yang anda katakan tentang pengguna yang memuat naik imej sebenarnya adalah soalan lain Adakah anda telah menyegerakkan gudang projek git ke pelayan dan menggunakannya sebagai direktori projek web?
Jika ya, akan ada sedikit masalah Pertama sekali, pendekatan yang lebih baik ialah git warehouse hanya digunakan untuk pembangunan untuk menerbitkan dan menggunakan projek web, gunakan Jenkins dan sebagainya proses ialah:
Pembangun projek mencetuskan webhook github melalui operasi, seperti menolak kod, mengeteg, dsb.
Github meminta alat pengerahan anda berdasarkan konfigurasi webhook dan memberitahu alat pengerahan anda untuk melaksanakan tindakan keluaran selanjutnya.
Alat pelaksanaan menarik kod terkini ke direktori kod, membungkus projek web melalui skrip atau arahan, menjana direktori projek web baharu dan menerbitkannya ke pelayan.
Dalam kes ini, gambar pengguna dimuat naik ke direktori projek dalam pelayan dan bukannya direktori kod git, jadi tidak perlu risau tentang mengemas kini gambar yang dimuat naik.
Selain itu, mungkin terdapat isu keselamatan semasa menerbitkan repositori kod sebagai projek web Jika hak akses tidak dikawal dengan baik, orang lain mungkin mendapatkan fail dalam projek git anda, yang mungkin membocorkan beberapa maklumat.
Kaedah yang anda nyatakan adalah kaedah yang sangat baik Kedua-dua gudang terpencil tidak boleh berkomunikasi secara langsung antara satu sama lain dan perlu dipindahkan.
Sudah tentu imej pengguna, cache, dsb. mesti diabaikan dan hanya kod yang sah disimpan di dalam gudang.
Sebenarnya folder
.git
mengandungi semua maklumat, anda boleh salin terus. Tetapi git mempunyai arahan untuk melakukan iniOperasi ini pada asasnya sama dengan operasi berikut:
Kemudian muat naik
my_project.git
yang diperoleh ke pelayan di mana gudang kosong terletak (ganti folder Dokumentasi git memberikan pengenalan yang sangat terperinci:Git-on-the-Server-Getting-Git-on). -a-Pelayan.
Bagi soalan kedua, sila tambahkan keseluruhan projek ke git untuk pengurusan, termasuk fail sumber, dokumen, dll. Ini akan memudahkan pasukan untuk bekerjasama. Tetapi jangan sertakan fail yang dijana oleh kompilasi Ini ditetapkan melalui .gitignore. Bagi isu mengemas kini gambar, jika gambar adalah sumber untuk digunakan dalam projek ini, maka ia akan diambil secara semula jadi.
Terdapat juga pasukan yang menambah konfigurasi IDE yang dijana secara automatik di bawah projek kepada pengurusan versi Jika ahli pasukan semua menggunakan IDE yang sama, mereka boleh berkongsi tetapan ini.
============
Tunggu, mengapa "Gudang pusat secara automatik menyegerakkan kod tolak ke projek web", saya fikir anda sepatutnya merujuk kepada perkhidmatan web yang sedang berjalan dan pelayan binaan harus mempunyai Gudang tempatan yang tidak diubah suai, serahkan secara aktif ke gudang kod
pull
, kemudian mulakan binaan berdasarkan kod terkini dan muat semula perkhidmatan web atau pakej berdasarkan hasil binaan. Tindakan ini boleh dicetuskan oleh cangkuk, tetapi repositori kod awam tidak seharusnya memulakannyapush
.