Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Giải thích quy trình Git Workflow điển hình

    Hình mô tả một Git Workflow khá phổ biến khi nhiều kỹ sư cùng phát triển code, automation script hoặc Infrastructure as Code. Ý tưởng chính là: không chỉnh sửa trực tiếp trên nhánh chính, mà làm việc trên branch riêng, kiểm tra rồi mới merge.

    Giả sử repository đã được git clone về máy.

    1. Đồng bộ Branch từ Remote Repository


    Trước khi bắt đầu, engineer lấy phiên bản mới nhất:
    git pull origin <branch>

    Mục đích là tránh phát triển trên source code đã cũ.

    2. Thực hiện thay đổi trên Local Repository


    Engineer chỉnh sửa code, chẳng hạn:
    • Python automation script
    • Ansible Playbook
    • Terraform configuration
    • Network configuration template

    Ví dụ sửa:
    router_config.txt

    3. Đưa thay đổi vào Staging Area


    Sau khi chỉnh sửa:
    git add router_config.txt

    git add chưa tạo commit. Nó chỉ đưa thay đổi vào Staging Area, tức chuẩn bị những nội dung sẽ được commit.

    Có thể hình dung:
    Working Directory → git add → Staging Area
    4. Commit thay đổi


    Tiếp theo:
    git commit -m "Update OSPF configuration"

    Commit tạo một snapshot/version mới trong Local Repository:
    Staging Area → git commit → Local Repository

    Một commit message tốt nên mô tả rõ thay đổi thay vì dùng những nội dung chung chung như "update" hoặc "fix".

    5. Đồng bộ lại trước khi Push


    Trước khi đẩy code lên remote, engineer có thể cập nhật branch:
    git pull origin <branch>

    Nếu đồng đội đã sửa cùng khu vực code, có thể xảy ra Merge Conflict.

    Khi đó cần:
    phát hiện conflict → kiểm tra code → chọn/chỉnh nội dung đúng → test lại → commit.

    Đây là bước quan trọng khi nhiều người cùng làm việc trên một repository.

    6. Push lên Remote Branch


    Khi code đã sẵn sàng:
    git push origin <branch>

    Lúc này thay đổi từ Local Repository được đưa lên Remote Repository, nhưng vẫn nằm trên branch làm việc chứ chưa nhất thiết thuộc nhánh chính.

    7. Pull Request và Merge


    Engineer tạo Pull Request (PR) để đề nghị đưa thay đổi:
    Feature/Working Branch → Main Branch

    Team có thể thực hiện code review, security review, automated testing và CI/CD checks trước khi merge.

    Slide sử dụng tên master; nhiều repository hiện nay sử dụng main làm tên nhánh mặc định.

    8. Đưa phiên bản đã duyệt vào Production


    Hình minh họa production server thực hiện:
    git pull origin master

    để lấy phiên bản mới.

    Tuy nhiên, trong môi trường DevOps hiện đại, production thường không nên phụ thuộc vào thao tác git pull thủ công. Quy trình tốt hơn là:
    Developer → Branch → Commit → Push → Pull Request → Review/Test → Merge → CI/CD → Production

    Đối với Network Engineer, Git không chỉ dùng để quản lý source code. Nó còn rất hữu ích để quản lý Ansible Playbook, Terraform, YAML, Python script và network configuration.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X