Git trong VS Code cho người mới: lưu phiên bản và đọc thay đổi
Thực hành trên một thư mục mẫu: khởi tạo Git, đọc diff, chọn thay đổi để commit và tránh đưa dữ liệu riêng vào kho mã.

Bắt đầu bằng một thư mục thực hành
Khi sửa một website hoặc tài liệu kỹ thuật, các tệp tên “final”, “final-2” thường không giải thích được điều gì đã thay đổi. Git lưu lịch sử theo các mốc do bạn tạo; VS Code giúp xem những dòng khác nhau trước khi ghi nhận một mốc.
Hãy thực hành trong một thư mục mới với một tệp ghi chú. Không dùng dự án khách hàng cho lần thử đầu, vì một số thao tác hoàn tác có thể loại bỏ phần việc chưa lưu vào lịch sử.
1. Kiểm tra Git và mở đúng thư mục
VS Code có giao diện quản lý mã nguồn tích hợp nhưng vẫn cần Git được cài trên máy. Kiểm tra trong terminal:
git --versionMở thư mục thực hành bằng VS Code, tạo notes.md và viết hai dòng bất kỳ. Vào Source Control để khởi tạo repository nếu thư mục chưa có Git. Nếu đang mở một dự án đã có lịch sử, không cần khởi tạo thêm bên trong thư mục con.
2. Hiểu ba nơi của một thay đổi
Bạn chỉnh tệp trong thư mục làm việc, chọn thay đổi để đưa vào vùng chuẩn bị, rồi tạo commit để ghi nhận mốc. Nhờ bước chuẩn bị này, một commit có thể chỉ gồm phần sửa đã hoàn chỉnh.
Trong Source Control, mở tệp thay đổi để xem diff. Đọc cả phần bị xóa và phần thêm mới. Đừng chỉ nhìn tên tệp: một thay đổi nhỏ về cấu hình có thể quan trọng hơn nhiều dòng sửa câu chữ.
3. Tạo commit đầu tiên
Chọn dấu cộng bên cạnh notes.md để stage tệp, viết lời nhắn như “Thêm ghi chú khởi đầu” và commit. Nếu Git yêu cầu tên và email người tạo commit, cấu hình danh tính phù hợp trước khi tiếp tục. Hãy cân nhắc địa chỉ email sẽ xuất hiện trong lịch sử nếu sau này công khai repository.
Sau đó thêm một đoạn vào tệp và xem diff lần nữa. So sánh trước/sau là thói quen quan trọng hơn việc nhớ nhiều câu lệnh. Một commit nên diễn đạt được một thay đổi cụ thể để người đọc lịch sử hiểu lý do.
4. Tạo danh sách bỏ qua trước khi đưa dự án thật vào Git
Với một dự án Node.js, bạn có thể bắt đầu bằng tệp .gitignore mẫu sau rồi điều chỉnh theo cấu trúc thực tế:
node_modules/
.next/
.env
.env.*
!.env.example
*.logMẫu này không tự biết nơi bạn lưu dữ liệu riêng. Hãy kiểm tra thêm tệp cơ sở dữ liệu, bản sao lưu, khóa truy cập và thư mục upload. .gitignore chỉ tác động đến các tệp chưa được theo dõi theo quy tắc của Git; thêm một tên vào đây không xóa dữ liệu đã nằm trong lịch sử.
Nếu một bí mật đã bị công khai, xóa dòng hoặc thêm ignore chưa đủ. Cần thu hồi hoặc thay thông tin truy cập ở dịch vụ liên quan và xử lý lịch sử theo quy trình riêng.
5. Phân biệt commit và đẩy lên remote
Commit tạo lịch sử trong repository hiện tại. Push gửi các commit lên remote đã cấu hình. Vì vậy có commit chưa đồng nghĩa với việc bạn đã có một bản sao trên dịch vụ khác.
Trước khi kết nối remote, xem quyền riêng tư của kho đích và kiểm tra nội dung chuẩn bị gửi. Đừng công khai repository chỉ vì một nút xuất bản thuận tiện. Với dự án có dữ liệu vận hành, Git cũng không thay cho bản sao lưu cơ sở dữ liệu và tệp người dùng.
Một bài tập tự kiểm tra
Tạo commit gồm hai dòng ghi chú.
Sửa một dòng, thêm một dòng và mở diff để đọc lại.
Chỉ stage tệp bạn hiểu, tạo commit với lời nhắn mô tả đúng thay đổi.
Mở lịch sử và tìm lại hai mốc vừa tạo.
Kiểm tra không có tệp chứa dữ liệu riêng trong danh sách theo dõi.
Tạm tránh thao tác reset hoặc discard trên công việc thật khi chưa hiểu hậu quả. Với lỗi chưa rõ, lưu một bản sao thư mục thực hành rồi đọc tài liệu của thao tác định dùng.
Tải checklist Git trước khi commit. Khi bắt đầu tự động hóa tác vụ, xem thêm cách thiết kế workflow có bước kiểm tra lỗi.
Nguồn và ảnh
VS Code Source Control Quickstart: quy trình xem thay đổi, stage và commit.
VS Code Source Control Overview: Git và remote trong trình soạn thảo.
Git gitignore: phạm vi của quy tắc bỏ qua tệp.
Ảnh minh họa chụp thật: Lukas / Pexels, theo Pexels License. Ảnh không phải ảnh chụp bài thực hành trong hướng dẫn.
Nội dung phục vụ học hỏi và thử nghiệm, không cam kết thu nhập. Hãy kiểm tra điều kiện của từng nền tảng trước khi triển khai.