gần đây chúng tôi đã chuyển từ SVN sang Git và đồng thời đưa các hệ thống trực tiếp của chúng tôi vào kiểm soát phiên bản (thay vì kiểm tra cục bộ và sao chép tệp để trực tiếp).
Trong dự án tôi được giao cho tất cả chúng ta truy cập vào cùng một kho lưu trữ và để có được những thay đổi trực tiếp, chúng ta chỉ git pull
ở đó. Điều này gây ra sự cố bởi vì các thiết kế web của chúng tôi đẩy các thay đổi vào VCS chưa được phát hành mà phải ở trong môi trường kiểm tra web.
Khi một trong những nhà phát triển bắt đầu hoạt động, anh ta nhận được tất cả (có thể chưa hoàn thành).
Tôi đã nghĩ đến việc chuyển trực tiếp sang một nhánh phụ và chỉ hợp nhất những gì đã thay đổi nhưng do thiếu kiến thức git nên tôi không biết làm thế nào.
Ý tưởng của tôi là:
- Tạo một Chi nhánh mới trong live (
git branch live
). - Mỗi khi có chuyện gì xảy ra
- Kéo các thay đổi trong bản gốc (như
git checkout master; git pull; git checkout live
:) git merge master
- Kéo các thay đổi trong bản gốc (như
Vấn đề là việc chuyển sang làm chủ hoặc kéo mọi thứ trực tiếp vào hệ thống trực tiếp sẽ gây ra vấn đề nên tôi muốn tránh điều này.
Có cách nào để làm điều này không hay có cách nào tốt hơn để quản lý hệ thống Live (ngoại trừ việc đào tạo các sở thích web để không đẩy những thứ còn dang dở).
git checkout -f
để bỏ qua vấn đề - nhưng hãy tạo bản sao lưu!
git pull --all
theo mặc định sẽ không kéo master vào live, nó sẽ kéo master và hợp nhất nó với master và (nếu tồn tại trên máy chủ) kéo live để hợp nhất vào live. Bạn đã thử à?