Hướng dẫn dùng Git với WordPress
Giới thiệu về Git và WordPress
Git là một hệ thống quản lý phiên bản phân tán (distributed version control system) được sử dụng rộng rãi trong phát triển phần mềm. Nó cho phép bạn theo dõi các thay đổi trong mã nguồn của mình, cộng tác với người khác một cách hiệu quả, và dễ dàng quay lại các phiên bản trước đó. WordPress, một nền tảng CMS (Content Management System) phổ biến, cũng có thể được quản lý bằng Git để theo dõi các thay đổi trong themes, plugins, và core files.
Sử dụng Git với WordPress mang lại nhiều lợi ích, bao gồm:
- Quản lý thay đổi: Dễ dàng theo dõi và kiểm soát các thay đổi trong mã nguồn.
- Cộng tác hiệu quả: Làm việc nhóm trở nên dễ dàng hơn với các tính năng như branching và merging.
- Sao lưu và phục hồi: Tạo bản sao lưu an toàn và phục hồi dễ dàng về các phiên bản trước đó nếu cần.
- Triển khai dễ dàng: Tự động hóa quá trình triển khai WordPress lên server.
Cài đặt Git
Trước khi sử dụng Git với WordPress, bạn cần cài đặt Git trên máy tính của mình. Cách cài đặt Git khác nhau tùy thuộc vào hệ điều hành bạn đang sử dụng.
Cài đặt Git trên Windows
Bạn có thể tải xuống trình cài đặt Git cho Windows từ trang web chính thức của Git: https://git-scm.com/download/win. Chạy trình cài đặt và làm theo hướng dẫn trên màn hình. Trong quá trình cài đặt, bạn có thể chọn các tùy chọn mặc định hoặc tùy chỉnh cài đặt theo nhu cầu của mình. Sau khi cài đặt xong, bạn có thể mở Git Bash, một giao diện dòng lệnh cho Git.
Cài đặt Git trên macOS
macOS đi kèm với Git được cài đặt sẵn. Tuy nhiên, bạn có thể cần phải cài đặt Xcode Command Line Tools để Git hoạt động đúng cách. Để cài đặt Xcode Command Line Tools, hãy mở Terminal và chạy lệnh sau:
xcode-select --install
Nếu bạn muốn cài đặt phiên bản Git mới nhất, bạn có thể sử dụng Homebrew:
brew install git
Cài đặt Git trên Linux
Trên hầu hết các bản phân phối Linux, bạn có thể cài đặt Git bằng trình quản lý gói của mình. Ví dụ, trên Ubuntu và Debian, bạn có thể sử dụng lệnh sau:
sudo apt-get update
sudo apt-get install git
Trên Fedora, bạn có thể sử dụng lệnh sau:
sudo dnf install git
Khởi tạo Git Repository cho WordPress
Sau khi cài đặt Git, bạn cần khởi tạo một Git repository cho WordPress của bạn. Điều này sẽ tạo một thư mục ẩn .git trong thư mục WordPress của bạn, nơi Git sẽ lưu trữ tất cả thông tin về các thay đổi.
- Điều hướng đến thư mục WordPress của bạn trong Terminal hoặc Git Bash. Ví dụ:
cd /var/www/html/wordpress - Khởi tạo một Git repository bằng lệnh:
git init
Thêm và Commit các thay đổi
Sau khi khởi tạo Git repository, bạn có thể bắt đầu thêm các thay đổi vào staging area và commit chúng vào repository.
- Thêm tất cả các tệp và thư mục vào staging area bằng lệnh:
git add . - Commit các thay đổi với một thông điệp mô tả bằng lệnh:
git commit -m "Initial commit of WordPress files"
.gitignore File
Một tệp .gitignore là một tệp văn bản đơn giản liệt kê các tệp và thư mục mà bạn không muốn Git theo dõi. Điều này rất quan trọng vì có một số tệp trong WordPress mà bạn không nên đưa vào repository, chẳng hạn như:
wp-config.php: Chứa thông tin kết nối cơ sở dữ liệu, bạn không nên chia sẻ thông tin này./wp-content/uploads/: Thư mục chứa các tệp tải lên, có thể rất lớn và không cần thiết phải theo dõi bằng Git./wp-content/cache/: Thư mục chứa các tệp cache, các tệp này được tạo tự động và không cần thiết phải theo dõi.
Tạo một tệp .gitignore trong thư mục gốc của WordPress và thêm các mục sau:
wp-config.php
wp-content/uploads/
wp-content/cache/
wp-content/plugins/*
!wp-content/plugins/my-custom-plugin
wp-content/themes/*
!wp-content/themes/my-custom-theme
Lưu ý: Dấu ! trước một mục trong .gitignore có nghĩa là “không bỏ qua mục này”. Trong ví dụ trên, chúng ta đang bỏ qua tất cả các plugins và themes, nhưng không bỏ qua plugin my-custom-plugin và theme my-custom-theme.
Làm việc với Branches
Branches là một phần quan trọng của Git. Chúng cho phép bạn phát triển các tính năng mới hoặc sửa lỗi mà không ảnh hưởng đến code chính (main branch). Bạn có thể tạo một branch mới, làm việc trên branch đó, và sau đó merge branch đó vào main branch khi bạn hoàn thành.
- Tạo một branch mới bằng lệnh:
git checkout -b feature/new-feature - Làm việc trên branch mới, thêm các thay đổi và commit chúng.
- Khi bạn hoàn thành, chuyển về main branch bằng lệnh:
git checkout main - Merge branch mới vào main branch bằng lệnh:
git merge feature/new-feature - Xóa branch mới bằng lệnh:
git branch -d feature/new-feature
Sử dụng Remote Repository (GitHub, GitLab, Bitbucket)
Remote repository là một repository Git được lưu trữ trên một server từ xa, chẳng hạn như GitHub, GitLab hoặc Bitbucket. Sử dụng remote repository cho phép bạn sao lưu code của mình, cộng tác với người khác, và triển khai WordPress lên server.
Tạo một Remote Repository
Trước tiên, bạn cần tạo một remote repository trên GitHub, GitLab hoặc Bitbucket. Truy cập trang web của dịch vụ bạn chọn và tạo một repository mới. Hãy chắc chắn chọn tùy chọn để tạo một repository trống (không có tệp README.md hoặc LICENSE).
Kết nối Local Repository với Remote Repository
Sau khi tạo remote repository, bạn cần kết nối local repository của bạn với remote repository. Điều này được thực hiện bằng lệnh git remote add:
git remote add origin [URL của remote repository]
Ví dụ:
git remote add origin git@github.com:username/my-wordpress-site.git
Thay thế [URL của remote repository] bằng URL của remote repository bạn đã tạo.
Push Code lên Remote Repository
Sau khi kết nối local repository với remote repository, bạn có thể push code của mình lên remote repository bằng lệnh git push:
git push -u origin main
Lệnh này sẽ đẩy tất cả các thay đổi từ branch main của local repository lên branch main của remote repository.
Triển khai WordPress với Git
Git có thể được sử dụng để tự động hóa quá trình triển khai WordPress lên server. Có nhiều cách để thực hiện việc này, nhưng một phương pháp phổ biến là sử dụng Git hooks.
Git hooks là các script được chạy tự động khi một sự kiện nhất định xảy ra trong repository Git. Ví dụ, bạn có thể tạo một post-receive hook sẽ được chạy sau khi code được đẩy lên remote repository. Hook này có thể sao chép code từ repository Git vào thư mục WordPress trên server của bạn.
Dưới đây là một ví dụ về post-receive hook:
#!/bin/bash
GIT_REPO=$HOME/my-wordpress-site.git
WP_DIR=/var/www/html/wordpress
while read oldrev newrev ref
do
branch=$(git rev-parse --symbolic --abbrev-ref $ref)
if [ "main" = "$branch" ]; then
git checkout -f main
rsync -avz --delete . $WP_DIR
fi
done
exit 0
Lưu hook này vào .git/hooks/post-receive trong remote repository của bạn và đảm bảo nó có quyền thực thi:
chmod +x .git/hooks/post-receive
Hook này sẽ:
- Kiểm tra xem branch được đẩy lên có phải là
mainhay không. - Nếu đúng, chuyển sang branch
main. - Sao chép tất cả các tệp từ repository Git vào thư mục WordPress trên server của bạn bằng
rsync.
Kết luận
Git là một công cụ mạnh mẽ có thể giúp bạn quản lý WordPress một cách hiệu quả hơn. Bằng cách sử dụng Git, bạn có thể theo dõi các thay đổi, cộng tác với người khác, và tự động hóa quá trình triển khai. Hy vọng hướng dẫn này đã cung cấp cho bạn một cái nhìn tổng quan về cách sử dụng Git với WordPress.
