Khi phát triển ứng dụng Flutter – dù là cá nhân hay làm việc nhóm – việc quản lý mã nguồn bằng Git là một bước không thể thiếu. Git không chỉ giúp bạn lưu lại lịch sử thay đổi của mã, mà còn tạo điều kiện thuận lợi để thử nghiệm tính năng mới, quay lại trạng thái ổn định khi cần, hoặc làm việc cộng tác hiệu quả thông qua các nền tảng như GitHub.
Bài viết này hướng dẫn bạn thực hành quy trình làm việc với Git cơ bản trong một dự án Flutter, từ khi khởi tạo đến khi triển khai trên GitHub. Bài viết phù hợp với người mới bắt đầu hoặc những ai muốn hệ thống lại kiến thức Git theo hướng thực hành thực tế.
1. Khởi tạo dự án Flutter
Trước tiên, tạo một ứng dụng Flutter mới bằng dòng lệnh:
flutter create flutter_git_demo
cd flutter_git_demo
Lệnh trên tạo ra cấu trúc thư mục chuẩn bao gồm:
-
lib/
: Chứa mã nguồn chính (thường làmain.dart
) -
test/
: Chứa các file kiểm thử -
pubspec.yaml
: Tệp cấu hình package -
.gitignore
: Tệp khai báo những file/directory không nên đưa vào Git (đã được Flutter tạo sẵn)
Việc có sẵn .gitignore
là một điểm lợi, vì nó giúp loại trừ các file build tạm thời và thư viện tải về, tránh gây xung đột hoặc phình to repository.
2. Khởi tạo Git trong dự án Flutter

Tiếp theo, khởi tạo một Git repository cục bộ (local repository) bên trong dự án:
git init
Git sẽ tạo một thư mục ẩn .git/
, đây là nơi lưu trữ toàn bộ thông tin liên quan đến lịch sử commit, cấu trúc nhánh, tag, v.v.
Thêm toàn bộ file dự án vào danh sách theo dõi của Git:
git add .
Thực hiện commit đầu tiên:
git commit -m "Initial commit - create Flutter app structure"
3. Tạo repository trên GitHub và kết nối
Bước 1: Tạo repository GitHub
Truy cập https://github.com, đăng nhập và tạo repository mới. Nên đặt tên giống với tên dự án Flutter (ví dụ flutter_git_demo
).
Khi tạo repository, không tick chọn “Initialize with README”, vì bạn đã có commit đầu tiên ở local.
Bước 2: Kết nối Git local với GitHub
Sao chép đường dẫn Git remote (HTTPS hoặc SSH), ví dụ:
git remote add origin https://github.com/your-username/flutter_git_demo.git
Xác định nhánh chính là main
và đẩy mã nguồn lên GitHub:
git branch -M main
git push -u origin main
4. Theo dõi thay đổi và commit định kỳ

Trong quá trình phát triển, bạn nên commit mã nguồn theo từng phần việc nhỏ. Ví dụ, sau khi thêm một màn hình hoặc sửa lỗi, hãy thực hiện:
git add lib/home_screen.dart
git commit -m "Thêm giao diện màn hình trang chủ"
Một số lưu ý khi đặt tên commit:
- Ngắn gọn nhưng rõ ràng
- Tránh tiếng Việt có dấu
-
Theo quy ước nhóm nếu làm việc nhóm (ví dụ:
feat: add login page
,fix: null pointer exception in HomeScreen
)
Để xem những gì đã thay đổi:
git status # Kiểm tra file nào thay đổi
git diff # Xem nội dung thay đổi chi tiết
5. Làm việc với nhánh (Branch Workflow)
Nhánh (branch
) là công cụ giúp bạn phát triển song song các tính năng mà không ảnh hưởng đến mã nguồn chính.
Tạo một nhánh mới để phát triển tính năng:
git checkout -b feature/login
Sau khi hoàn thành, quay lại nhánh chính:
git checkout main
Hợp nhất tính năng mới:
git merge feature/login
Đẩy toàn bộ thay đổi lên GitHub:
git push
Việc sử dụng nhánh giúp bạn:
- Dễ dàng phát triển song song nhiều tính năng
- Hạn chế rủi ro ảnh hưởng đến mã gốc
- Hỗ trợ tốt việc review code trước khi merge
6. Xử lý xung đột khi merge

Khi hai nhánh thay đổi cùng một dòng mã trong cùng một file, Git sẽ phát hiện xung đột và yêu cầu bạn giải quyết.
Khi xung đột xảy ra:
- Git đánh dấu các phần bị xung đột trong file
- Bạn cần chỉnh sửa thủ công
- Sau đó thực hiện lại commit:
git add .
git commit -m "Resolve conflict between feature/login and main"
7. Làm việc nhóm với GitHub (Pull Request cơ bản)
Nếu bạn làm việc nhóm, mỗi người nên clone từ GitHub về máy:
git clone https://github.com/your-team/flutter_git_demo.git
Quy trình thường dùng:
- Tạo nhánh riêng để làm việc
- Push nhánh lên GitHub
- Tạo Pull Request (PR)
-
Code được review và merge vào
main
Pull Request giúp bạn:
- Giao tiếp với đồng đội qua comment
- Tự động kiểm tra code bằng CI
- Dễ dàng rollback nếu cần
8. Một số lệnh Git hữu ích
Lệnh | Mục đích |
---|---|
git log --oneline | Xem lịch sử commit ngắn gọn |
git stash | Tạm thời lưu thay đổi chưa commit |
git stash pop | Khôi phục thay đổi đã stash |
git reset --hard <commit> | Quay lại commit trước đó (cẩn thận) |
git pull | Lấy về các thay đổi mới từ GitHub |
git clone <url> | Tải toàn bộ repository về máy |
9. Quy trình Git mẫu khi làm app Flutter
-
git checkout -b feature/ten_tinh_nang
: Tạo nhánh mới cho tính năng - Lập trình và kiểm thử tính năng đó
-
git add .
→git commit -m "Tạo tính năng A"
-
git push origin feature/ten_tinh_nang
- Tạo Pull Request trên GitHub
- Sau khi được review, merge vào
main
-
git checkout main
→git pull
để cập nhật phiên bản mới
Kết luận
Quản lý mã nguồn với Git là kỹ năng bắt buộc đối với lập trình viên Flutter. Khi bạn quen thuộc với quy trình khởi tạo, commit, tạo nhánh và đẩy lên GitHub, việc làm việc nhóm, thử nghiệm hoặc rollback trở nên linh hoạt và chuyên nghiệp hơn rất nhiều.
Sau khi nắm vững Git cơ bản, bạn có thể tiếp tục tìm hiểu thêm:
- Git Flow: Quy trình nhánh nâng cao
- GitHub Actions: Tự động build và kiểm thử
- CI/CD: Tự động triển khai ứng dụng Flutter
📌 Đăng ký ngay tại: https://laptrinh-online.vn/course/lap-trinh-flutter-co-ban
Địa chỉ: Trung tâm CodeFresher – số 104 Hoàng Ngân, Cầu Giấy, Hà Nội.
Hotline: Ms Nga – 0968089175 , Ms Diệu – 0332026803 (zalo / call)
Trả lời