Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách từng bước sử dụng Git để đẩy một trang cục bộ lên máy chủ trực tiếp. Rất nhiều công ty đã nỗ lực để làm cho việc phát triển website trở nên dễ dàng hơn cho người dùng thông thường.
Điều này hợp lý vì có những người sở hữu trang web không có (hoặc không muốn có) thời gian để tìm hiểu mọi khía cạnh của việc vận hành một trang cục bộ.
Tuy nhiên, với một chút nghiên cứu, bạn có thể sử dụng Git để quản lý quá trình đẩy trang web của mình lên trực tiếp. Điều này mang lại cho bạn sự bảo mật cao hơn và, khi đã thiết lập, sẽ giúp dễ dàng thực hiện các thay đổi trên trang web.
Mặc dù vậy, để đạt đến điểm đó không phải là điều dễ dàng. Có nhiều điều kiện cần xem xét, kỹ năng cần có và công cụ phải chuẩn bị.
Ngoài ra, bạn sẽ cần suy nghĩ kỹ về quá trình này vài lần đầu tiên, vì có khá nhiều bước cần nhớ. Tuy nhiên, sử dụng Git để đẩy một trang web trực tiếp là hoàn toàn khả thi cho hầu hết người dùng, và không cần phải phức tạp như bạn nghĩ.
Contents
Giới thiệu về Git
Git là một Hệ Thống Kiểm Soát Phiên Bản (Version Control System – VCS). Nó là cách để lưu và ghi lại các thay đổi mà bạn thực hiện trên một dự án – thường là một ứng dụng hoặc website.
Cách phổ biến để sử dụng Git là thông qua Giao Diện Dòng Lệnh (CLI) – nếu bạn có kinh nghiệm với WP-CLI, đây là một cách tiếp cận tương tự. Bạn sẽ sử dụng các lệnh để đánh dấu và tổ chức các tệp bạn đang làm việc theo nhiều cách:
- Trước khi bạn thực hiện lệnh, các tệp sẽ ở trạng thái ‘unstaged’ (chưa được xếp hàng). Điều này có nghĩa là chúng không phải là một phần của ‘repository’ Git (thư mục lưu trữ lịch sử).
- Bạn sẽ thực hiện lệnh để đưa tất cả hoặc một số tệp của bạn vào trạng thái chờ, tại đây bạn vẫn có thể làm việc trên chúng.
- Khi hoàn thành, bạn sẽ commit các tệp vào repo từ khu vực staging. Đây giống như việc lưu lại các thay đổi đó.
Git có thể phức tạp hơn thế này, nhưng hầu hết thời gian bạn sẽ chỉ sử dụng một số lệnh cơ bản để thực hiện công việc hàng ngày với Git.
Sử dụng Git cho phát triển dựa trên nhóm
Git là một công cụ quan trọng cho các nhóm phát triển, vì mỗi nhà phát triển sẽ mở một ‘nhánh’ khác nhau trong cùng một repo.
Điều này cho phép mọi người làm việc trên dự án mà không ảnh hưởng đến các tệp của người khác. Theo định kỳ – thường là vào cuối ngày làm việc – nhóm sẽ commit các thay đổi vào repo.
Một thành viên cao cấp trong nhóm sẽ thực hiện ‘merge’ tất cả các nhánh và thay đổi lại với nhánh chính của repo. Tại thời điểm này, bạn sẽ có bộ tệp dự án chính thức trong repo.
Đối với một nhà phát triển cá nhân – có thể là bạn – Git vẫn có giá trị như một công cụ lưu phiên bản từng bước. Bạn có thể mở một nhánh mới, làm việc trên trang của mình, sau đó stage và commit các thay đổi đó.
Điều này giúp bạn có thể thực hiện bất kỳ thay đổi nào trên nhánh mà không ảnh hưởng đến các tệp khác trên trang web của bạn. Khi muốn commit (hoặc xóa), bạn có thể thực hiện một cách dễ dàng.
Giới thiệu nhanh về phát triển WordPress cục bộ
Trước khi tiếp tục, chúng tôi muốn lưu ý rằng làm việc trên trang của bạn ngoài máy chủ trực tiếp là một thực hành điển hình được khuyến nghị.
Nếu bạn chưa thực hiện điều này, hãy xem hướng dẫn về cách cài đặt WordPress. Bạn cũng có thể cân nhắc sử dụng một ứng dụng chuyên dụng để làm việc trên trang của mình.
Local by Flywheel và DevKinsta là hai tùy chọn tốt.
Tại sao nên sử dụng Git để đẩy trang cục bộ lên trực tiếp
Lý do chính để sử dụng Git để đẩy trang của bạn lên trực tiếp là tính linh hoạt. Git cho phép bạn có một nhánh chính để lưu trữ bộ tệp dự án chính thức.
Tuy nhiên, bạn có thể mở nhiều nhánh mới như mong muốn – đây cũng là cách mà các nhóm lớn sử dụng Git ở quy mô lớn.
Ngoài ra, còn một số lý do khác để sử dụng Git:
- Bạn có thể lưu trữ repo Git ở bất kỳ vị trí nào. GitHub và GitLab là hai trang chuyên về lưu trữ repo Git. Từ đó, bạn có thể mời thêm thành viên hoặc nhà phát triển khác nếu cần hỗ trợ.
- Bạn không cần làm việc trên trang trực tiếp của mình, điều này giúp ích rất lớn về bảo mật và hiệu suất. Bạn có thể chỉ đẩy các tệp bạn làm việc, điều này mang lại lợi ích to lớn vì không cần chạm vào cơ sở dữ liệu WordPress.
Những gì cần chuẩn bị trước khi sử dụng Git để đẩy trang trực tiếp (công cụ và kỹ năng)
Trước khi bắt đầu, hãy đảm bảo bạn đã có sẵn những yếu tố sau:
- Phiên bản cục bộ của trang web hiện tại của bạn.
- Quyền truy cập bảng điều khiển và máy chủ hosting với tư cách quản trị viên.
Sau đó, bạn có thể xem xét những điều khác cần chuẩn bị:
- Cài đặt Git trên máy tính. Bạn có thể thực hiện điều này qua dòng lệnh.
- Kiến thức cơ bản về cách sử dụng dòng lệnh (CLI). Cụ thể, bạn nên biết cách di chuyển xung quanh máy tính, tạo thư mục và tệp, và xóa chúng.
- Kiến thức về truy cập SSH cho máy chủ của bạn và ít nhất là hiểu về việc tạo khóa bảo mật.
Cách sử dụng Git để đẩy trang cục bộ lên trực tiếp
Có bốn bước bạn cần thực hiện để thiết lập mọi thứ:
1. Thiết lập Git Repository cho trang cục bộ
Với một cửa sổ Terminal mở, đầu tiên điều hướng đến thư mục cục bộ của trang:
git init git add .
Dùng git commit -m "Initial commit."
để commit ban đầu.
2. Thiết lập Git Repo trên máy chủ trực tiếp
Đăng nhập vào máy chủ của bạn qua SSH và điều hướng đến một khu vực riêng tư trên máy chủ, thường là /private/
:
mkdir remoterepo.git cd remoterepo.git git --bare init
3. Tạo ‘Hook’ cho Repo và thiết lập quyền truy cập tệp chính xác
Tạo một tệp chỉ dẫn Git nơi cần đẩy thay đổi:
nano hooks/post-receive
Thêm dòng sau vào tệp:
#!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f
Dùng chmod +x hooks/post-receive
để đặt quyền truy cập.
4. Thêm liên kết từ xa vào Repo cục bộ và đẩy các thay đổi lên trực tiếp
Thêm liên kết đến máy chủ từ xa để các repo Git có thể giao tiếp với nhau:
git remote add origin ssh://user@server.example.com/~/remoterepo.git
Sử dụng lệnh này để đẩy các thay đổi cục bộ của bạn lên máy chủ trực tiếp:
git push -u origin main
Sau đó, bạn có thể kiểm tra trang trực tiếp của mình – các thay đổi sẽ được hiển thị.
Tóm lại
Làm việc trên trang web là một công việc cần thiết và thường là hàng ngày. Sử dụng môi trường cục bộ là cách điển hình để làm điều đó, nhưng có một vấn đề – làm sao để đẩy các thay đổi này lên trang trực tiếp một cách không lỗi và ít phức tạp nhất?
Câu trả lời có thể là sử dụng Git để đẩy các thay đổi lên máy chủ trực tiếp. Điều này cho phép bạn chỉ tải lên các tệp mà bạn đã thay đổi, vì vậy phần lớn cài đặt và cơ sở dữ liệu của bạn sẽ không bị ảnh hưởng.
Mặc dù bạn cần một số kiến thức và công cụ để mọi thứ hoạt động, nhưng đó là một thay đổi trong quy trình làm việc có thể giúp nâng cao hiệu quả và năng suất phát triển trang cục bộ của bạn.