Quy trình làm việc trên git
Đây là quy trình làm việc với Git của AGL trong khi training và sau khi training.
Kiểm tra thông tin git
Ở bước này, bạn chỉ cần làm một lần sau khi cài đặt git.
Khi bắt đầu dự án mới hoặc tham gia vào một dự án có sẵn, bạn hãy kiểm tra đã thiết lập thông tin về username và email ở local.
$ git config –global –list
Trường hợp nếu thông tin bị sai thì hãy thiết lập lại với lệnh như sau:
$ git config --global user.name "AGL..."
$ git config --global user.email "staff@allgrow-labo.jp"
user.name: tương ứng với tên trong Slack của bạnuser.email: email mà công ty cấp cho bạn
--global được sử dụng để áp dụng cho tất cả các projects. Nếu bạn ko sử dụng --global thì settings sẽ chỉ dùng cho riêng project hiện tại.
Tải repository
Để tải một repository về local, bạn hãy dùng lệnh:
$ git clone <remote_repository_URL>
Khi clone, git sẽ tự tạo 1 thư mục trùng tên với repository, bạn hãy chú ý nhé.
Tạo nhánh (branch)
Hãy luôn kiểm tra mình đang ở nhánh nào trước khi bắt đầu công việc, vì nếu bất cẩn bạn có thể bị nhầm lẫn.
Trong quá trình training, hãy tuân thủ theo chuẩn lưu trữ code như sau:
Mặc định của git sẽ là nhánh master (main), bạn không thực hiện bất kỳ thao tác nào trên nhánh này.
Hãy tạo nhánh mới từ master trước khi bắt đầu một công việc nào đó.
- Các task về coding (HTML/CSS/JS):
feature/coding-... - Các task sửa feedback:
issue/fix-bug-... - Các task về wordpress (theme):
feature/wordpress-... - Các task về tài liệu:
feature/docs-...
Cách để vừa tạo nhánh vừa chuyển sang nhánh mới:
$ git checkout -b <new_branch>
Cập nhật thay đổi
Sau khi hoàn thành những công việc trong ngày, bạn cần commit chúng trước khi ra về.
$ git add .
$ git commit -m "commit message"
Nội dụng commit phải ghi rõ 1 cách ngắn gọn những gì bạn đã làm, để người khác khi đọc họ cũng biết bạn đã làm những gì.
👉 Tham khảo cách viết commit cho đúng: Commit Lint
Hoàn thành việc commit, bước tiếp theo bạn cần phải đẩy (push) dữ liệu lên Git server.
$ git push origin <branch_name>
Và đó là bạn đã hoàn thành cơ bản của 1 quy trình khi làm việc với Git. Nhưng nó vẫn chưa kết thúc đâu nhé.
Chúng ta sẽ tiếp tục công việc vào ngày hôm sau, hãy thử suy nghĩ trường hợp một kỹ sư khác cũng đang làm chung một dự án trong lúc chúng ta kết thúc công việc của mình, sẽ thật rắc rối nếu chúng ta không đồng bộ code với nhau. Vì vậy hãy sử dụng git pull trước khi bắt đầu công việc mới trong dự án, để local của bạn có thể thấy được dữ liệu mới nhất nhé.
$ git pull
Hãy tập thói quen pull source code về trước khi muốn push gì đó lên git.
Tạo Pull Request và nhờ Review code
Vào git server, tạo Pull Request và nhờ xác nhận (review) từ người phụ trách.
Gộp Pull Request vào master
Mentor hoặc manager sau khi kiểm tra source code, sẽ yêu cầu bạn gộp Pull Request của mình vào nhánh master.
Sau đó nhớ đồng bộ code trong nhánh master ở môi trường local và origin:
$ git checkout master
$ git pull origin master
Lưu ý
Hãy chú ý nếu sự không đồng bộ giữa local và remote xảy ra, bạn sẽ gặp tình huống xung đột code (conflict).
Vì vậy phải kiểm tra code trước khi push code lên Git.