Hãy kết nối tài khoản GitHub của quý vị với một trang web và chúng tôi sẽ duy trì tính đồng bộ giữa cả hai theo cả hai chiều. Tính năng này hoàn toàn miễn phí, duy trì trạng thái tắt cho đến khi quý vị bật lên, và chúng tôi chỉ bao giờ commit vào kho lưu trữ trên tài khoản do quý vị sở hữu — tuyệt đối không bao giờ commit vào tài khoản của chúng tôi.
Những gì được đồng bộ hóa
Bất kỳ nội dung nào quý vị thay đổi trong các tệp của trang web đều trở thành một commit trong kho lưu trữ của quý vị, bất kể quý vị đã thay đổi bằng cách nào: trình quản lý tệp, SFTP, trình chỉnh sửa giao diện WordPress, hay một phiên SSH. Quý vị không cần phải thông báo cho chúng tôi — chúng tôi sẽ so sánh trang web của quý vị với commit gần nhất và push phần chênh lệch.
Ở chiều ngược lại, một lượt push tới nhánh đã kết nối của quý vị sẽ được cập nhật lên trang web.
Những gì chúng tôi không bao giờ commit
Tệp wp-config.php của quý vị được loại trừ, một cách có chủ đích và vĩnh viễn. Tệp này chứa mật khẩu cơ sở dữ liệu và các chuỗi salt xác thực của quý vị, và những thông tin đó không thuộc về kho lưu trữ — ngay cả kho lưu trữ riêng tư, bởi vì git lưu trữ lịch sử mãi mãi.
Cũng được loại trừ: các tệp .env, khóa và chứng chỉ, thư mục tải lên của quý vị, bộ nhớ đệm và node_modules. Kho lưu trữ là mã nguồn của trang web, không phải bản sao lưu. Tệp đa phương tiện thuộc về các bản sao lưu của quý vị, nơi chúng vốn đã được lưu giữ, và việc đưa chúng vào đây sẽ khiến mọi lượt push bị chậm và mọi thay đổi trở nên khó đọc.
Điều gì xảy ra nếu cả hai bên cùng thay đổi
Đây là câu hỏi rất đáng đọc. Giả sử quý vị chỉnh sửa một tệp trong trình quản lý tệp, và cùng lúc đó một đồng nghiệp push một thay đổi lên cùng một kho lưu trữ.
Chúng tôi sẽ dừng lại. Chúng tôi không hợp nhất, và chúng tôi không ghi đè lên bất kỳ ai. Tab Deploy của trang web sẽ hiển thị thông báo "Your repository has changes we haven't seen", nêu rõ commit mà quý vị cần kiểm tra, và chờ đợi quý vị. Không có gì bị mất ở cả hai bên trong lúc chờ đợi — nội dung chỉnh sửa của quý vị vẫn còn trên trang web, commit của họ vẫn còn trong kho lưu trữ.
Sau đó quý vị lựa chọn:
- Keep this site's files — chúng tôi sẽ đặt phiên bản của quý vị lên trên phiên bản của họ. Các commit của họ vẫn được lưu lại trong lịch sử; không có gì bị xóa.
- Use the repository, discard site changes — phiên bản của kho lưu trữ sẽ được áp dụng cho trang web, và các thay đổi quý vị đã thực hiện tại đây sẽ bị hủy bỏ. Lựa chọn này có tính chất hủy dữ liệu, đó là lý do vì sao nó đòi hỏi một cú nhấp chuột có chủ đích và không bao giờ là điều chúng tôi tự ý thực hiện thay cho quý vị.
Cố ý không có tùy chọn "tự động hợp nhất". Một lượt hợp nhất do chúng tôi thực hiện sẽ tạo ra một tệp mà không ai trong số quý vị đã viết, ngay trên trang web đang hoạt động, mà không ai trong số quý vị nhìn thấy trước.
Lý do quá trình đồng bộ hóa có thể dừng lại
- Quý vị chưa kết nối tài khoản GitHub của mình. Nút chuyển sẽ duy trì trạng thái tắt cho đến khi quý vị thực hiện.
- Hệ thống đang chờ quý vị. Xem phần trên — trạng thái tạm giữ không tự động xóa bỏ.
- Tài khoản của quý vị không ở trạng thái tốt. Quá trình đồng bộ hóa sẽ tạm dừng và tự động tiếp tục lại khi thanh toán được cập nhật đầy đủ. Không có gì bị mất.
Tab Deploy hiển thị một vài lần đồng bộ hóa gần nhất, bao gồm cả những lần không có thay đổi nào. Nếu danh sách đó trống và tính năng đồng bộ hóa đang được bật, nhiều khả năng tài khoản đã kết nối không thể ghi vào kho lưu trữ — vui lòng kiểm tra quyền truy cập của tài khoản và kết nối lại.
Chọn nội dung đồng bộ hóa
Theo mặc định, toàn bộ trang web sẽ được đồng bộ hóa. Trên một trang web WordPress, điều đó thường không phải là điều quý vị mong muốn: điều đó đồng nghĩa với việc đồng bộ mọi tệp của lõi WordPress, những tệp mà quý vị không hề viết và sẽ không chỉnh sửa. Hãy đặt "Sync only this folder" thành giao diện của quý vị — ví dụ wp-content/themes/my-theme — và phần còn lại sẽ được giữ nguyên.