团队如何正确的对git进行部署
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:31:53
0
3
599

本人学生党,现在和几个同学一起开发,打算用git

目前git搭建好裸仓库了,并且hooks可以自动同步到web项目中.

由于服务器上的代码不是仓库,现在想要将原先另一个服务器上的代码导入到裸仓库上,然后供团队成员去pull。该如何做?自己想到的办法就是先将代码拉到本地,然后再从本地push到中央仓库,由于做了自动同步,所以中央仓库则自动将push的代码同步到web项目。但个人感觉应该有更好的方法。求告知?

还有就是一般git的使用仓库是整个项目吗?还是项目中的部分?如果是整个项目,用户上传图片那岂不是每次更新还要将上传的图片更新到本地。

查了挺久资料的,也很少讲这方面的,求各位大神详解。

===========================

您好,就现在我们团队在项目中出现了一个问题就是,由于5.1期间项目出了个bug,有个同学在家里修改了bug,但他的电脑没装git,所以使用ftp上传了。现在由于使用ftp上传所以没有使用到中央仓库自然就没有触发到hooks的post-reveice也就不会push到网站项目中(有点绕,望大神能理解),所以现在使用git就无法获取拉取到他所上传的那一部分。所以现在的问题就是我要写多一个hooks,网站项目上的一旦改变(如果是ftp上传的)则pull到中央仓库,然后本地才能获取。做到中央仓库和网站项目能双向同步。可能我们这种做法不太好,但是目前暂时只能这么做,当然也希望大神回答是顺带提供下好的方法。再次谢过

过去多啦不再A梦
过去多啦不再A梦

membalas semua(3)
Ty80

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:

  1. Pembangun projek mencetuskan webhook github melalui operasi, seperti menolak kod, mengeteg, dsb.

  2. Github meminta alat pengerahan anda berdasarkan konfigurasi webhook dan memberitahu alat pengerahan anda untuk melaksanakan tindakan keluaran selanjutnya.

  3. 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.

PHPzhong

Sebenarnya folder .git mengandungi semua maklumat, anda boleh salin terus. Tetapi git mempunyai arahan untuk melakukan ini

$ git clone --bare my_project my_project.git
Cloning into bare repository 'my_project.git'...
done.

Operasi ini pada asasnya sama dengan operasi berikut:

$ cp -Rf my_project/.git my_project.git

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 memulakannya push.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!