kami baru-baru ini beralih dari SVN ke Git dan pada saat yang sama menempatkan sistem live kami ke dalam kontrol versi (alih-alih checkout lokal dan menyalin file ke live).
Pada proyek saya ditugaskan untuk kita semua mengakses repositori yang sama dan untuk mendapatkan perubahan kita tinggal di git pull
sana. Ini menyebabkan masalah karena desainer web kami mendorong perubahan ke VCS yang seharusnya belum tayang tetapi harus berada di lingkungan pengujian web.
Ketika salah satu pengembang sekarang aktif, ia mendapatkan semua (mungkin belum selesai) perubahan.
Saya berpikir untuk beralih langsung ke cabang tambahan dan hanya menggabungkan apa yang berubah tetapi karena kurangnya pengetahuan git saya tidak tahu caranya.
Ide saya adalah:
- Buat Cabang baru di live (
git branch live
). - Setiap kali sesuatu harus ditayangkan
- Tarik perubahan pada master (seperti
git checkout master; git pull; git checkout live
:) git merge master
- Tarik perubahan pada master (seperti
Masalahnya adalah beralih ke menguasai atau menarik semuanya langsung ke sistem live akan menyebabkan masalah jadi saya lebih suka menghindari ini.
Apakah ada cara untuk melakukan ini atau ada cara yang lebih baik untuk mengelola sistem Live (kecuali untuk pelatihan webbies untuk tidak mendorong hal-hal yang belum selesai).
git checkout -f
untuk mengabaikan masalah - tetapi buat cadangan!
git pull --all
akan secara default tidak menarik master menjadi live, itu akan menarik master dan menggabungkannya dengan master, dan (jika ada di server) tarik langsung untuk bergabung ke live. Apakah kamu sudah mencobanya?