Commit & Push
Đưa file vào vùng stage, viết commit message bằng tay hoặc nhờ AI agent, và push lên remote chỉ với vài cú click.
Khi bạn đã xem xét diff và hài lòng với những thay đổi mà AI agent thực hiện, đã đến lúc commit và push. Hướng dẫn này đi qua toàn bộ quy trình từ khâu stage cho đến khi push lên remote repository.
Stage các thay đổi
Staging giúp bạn chọn chính xác những thay đổi nào sẽ được đưa vào commit lần này. Ví dụ, bạn có thể muốn commit phần code tính năng riêng biệt với một thay đổi cấu hình.
Trong Git panel, mỗi file đã chỉnh sửa đều xuất hiện trong phần Unstaged Changes:
- Tích vào checkbox bên cạnh một file để stage từng file riêng lẻ
- Click Stage All để stage tất cả các file đã thay đổi cùng lúc
- Để unstage một file, bỏ tích nó — file đó sẽ chuyển trở lại Unstaged
Các file đã staged chuyển sang phần Staged Changes ở đầu sidebar. Chỉ những file đã staged mới được đưa vào commit.
Bạn cũng có thể stage từng hunk (từng phần của một file) thay vì cả file. Trong diff view, di chuột qua một hunk và click nút + xuất hiện để stage chỉ phần đó. Điều này hữu ích khi một file có hai thay đổi không liên quan và bạn chỉ muốn commit một trong số đó ngay bây giờ.
Viết Commit Message
Khi đã stage file, nhập commit message của bạn vào text field ở cuối Git panel.
Một commit message tốt giúp lịch sử dễ đọc — cho chính bạn trong tương lai và cho bất kỳ ai khác trong dự án. Một vài lời khuyên:
- Dùng thể mệnh lệnh — viết "Add login form" chứ không phải "Added login form" hay "Adding login form"
- Mô tả cái gì đã thay đổi và tại sao — "Fix null check in user.ts" hữu ích hơn "fix bug"
- Giữ dòng đầu dưới 72 ký tự — hầu hết các công cụ git sẽ cắt ngắn message dài hơn trong danh sách
- Thêm phần body nếu cần — nhấn Enter hai lần sau dòng đầu để thêm phần giải thích dài hơn bên dưới
Các ví dụ về commit message rõ ràng:
Thêm xác thực email vào form đăng kýSửa lỗi crash khi danh sách user rỗngCập nhật API base URL cho production
Để agent viết giúp
Nút sparkle trong commit summary sẽ đưa diff của bạn cho AI CLI đã cài đặt và yêu cầu nó viết message.
- Chọn agent nào sẽ viết, hoặc để 1DevTool sử dụng agent đầu tiên bạn đã cài đặt.
- Chọn một phong cách: Conventional, Plain, hoặc Gitmoji.
- Khi chưa có gì được stage, nó sẽ fallback vào working-tree diff — để bạn có thể có message trước khi quyết định stage cái gì.
Kết quả sẽ xuất hiện trong message field như một đoạn text có thể chỉnh sửa. Đó là một bản nháp, không phải một commit.
Commit
Click nút Commit bên dưới message field. Các thay đổi đã staged được lưu vào lịch sử git local dưới dạng một commit mới, và phần staged files sẽ được xóa trống.
Commit hiện tại xuất hiện trong lịch sử branch của bạn. Nếu cần hoàn tác, nhấp chuột phải commit trong history view và chọn Undo Commit — điều này đưa các thay đổi trở lại unstaged files mà không làm mất chúng.
Push lên Remote
Commit lưu các thay đổi ở local. Để gửi chúng lên GitHub, GitLab, hoặc remote khác của bạn:
- Click nút Push trong Git panel toolbar (biểu tượng mũi tên lên)
- Nếu branch đã tồn tại trên remote, các commit của bạn sẽ được push ngay lập tức
- Nếu đây là một new branch chưa tồn tại trên remote, click Publish Branch — thao tác này tạo branch trên remote và push các commit của bạn
Nếu bạn được yêu cầu nhập credentials, bạn có thể nhập chúng hoặc chuyển sang xác thực bằng SSH key. Xem Git Accounts để biết cách kết nối tài khoản GitHub của bạn nhằm tự động xử lý credentials.

Pull các thay đổi
Để lấy các thay đổi từ remote (ví dụ, nếu đồng đội vừa push gì đó):
- Click nút Pull (biểu tượng mũi tên xuống) trong toolbar
- Các thay đổi từ remote được fetch và merge vào branch local của bạn
Nếu có merge conflicts, Git panel sẽ làm nổi bật các file xung đột. Mở từng file để giải quyết xung đột, rồi stage và commit phần giải quyết đó.

Sau khi push, các thay đổi của bạn đã nằm trên remote và sẵn sàng cho team hoặc cho một pull request. Git panel hiển thị branch của bạn đã cập nhật với remote.