Hướng dẫn sử dụng GIT cơ bản cho thiếu nhi, người già và tân sinh viên
1. Vì sao “ai cũng nên học Git”?
Đối với những ae IT nói chung và DEV nói riêng thì GIT là một phần không thể thiếu trong công việc hàng ngày. Nó quan trong như thế nhưng thường bị các trường bỏ qua nên mình lên bài viết này mong muốn các anh em mới vào nghề có thể tiếp cận thứ công cụ hay ho này
Đầu tiên nghe chữ “Git” ai không biết cũng nghĩ nó cao siêu lắm, nhưng thực ra Git chỉ là một công cụ giúp lưu lại lịch sử thay đổi của file theo thời gian, giống như một “máy chụp ảnh” cho thư mục bài tập hoặc project của bạn. Mỗi lần bạn lưu (commit), Git sẽ chụp lại một “bức ảnh” của các file thay đổi ở trạng thái hiện tại để nếu lỡ tay phá hỏng, ta có thể khôi phục lại về lúc mọi thứ còn chạy tốt.
Những Video phải xem:
-
https://www.youtube.com/watch?v=e9lnsKot_SQ
2. Chuẩn bị: cài Git và IntelliJ
Để bắt đầu, bạn chỉ cần hai thứ: Git và một IDE hỗ trợ Git (ở đây dùng IntelliJ IDEA vì tích hợp sẵn nhiều tính năng dễ dùng). Các bước rất cơ bản: tải, cài, rồi kiểm tra xem nó đã hoạt động chưa.
• Cài Git:
Vào trang tải Git, chọn bản phù hợp với hệ điều hành (Windows/Mac/Linux), bấm Next cho đến khi xong.
Mở CMD/PowerShell (Windows) hoặc Terminal (Mac/Linux), gõ:
git --version
Nếu hiện ra số phiên bản thì coi như đã cài thành công.
• Cài IntelliJ IDEA:
Vào trang IntelliJ IDEA, tải bản Community (miễn phí) hoặc Ultimate.
Cài đặt như phần mềm bình thường, mở lên để IDE tự cấu hình lần đầu.
Với nếu bạn là người mới, có thể in một tờ giấy ghi lại các lệnh hay dùng (git status, git add, git commit, git push, git pull) để tránh quên.
3. Git Lifecycle: kể chuyện như cuốn vở bài tập
Để dễ hiểu, hãy tưởng tượng thư mục code như một cuốn vở bài tập và Git là cô giáo chấm bài, ghi điểm theo từng lần bạn nộp. Việc hiểu “vòng đời” của file giúp bạn biết lúc nào cần dùng git add, lúc nào git commit và vì sao phải push.
Các trạng thái chính của một file trong Git:
Untracked: Giống vở mới mua, chưa ghi tên trong sổ điểm, Git chưa quan tâm đến file này.
Modified: Vở đã từng được chấm, nhưng bạn vừa viết thêm/sửa lại, chưa báo cho cô giáo.
Staged: Bạn đã ghim những trang muốn nộp vào kẹp, chuẩn bị đưa cho cô giáo xem.
Committed: Đóng gói bài tập kèm nội dung mô tả cho những gì đã làm
Tương đương với lệnh CLI:
Tạo/sửa file → file ở trạng thái Untracked hoặc Modified.
git add <file> → đưa file vào Staged (chuẩn bị nộp).
git commit -m "Mo ta thay doi" → ghi lại phiên bản mới, file chuyển sang Committed.
git push → “gửi bài về kho” lên GitHub (remote repository) để lưu online hoặc chia sẻ với người khác.
# sau khi push( Gửi bài) thì phải thông báo cho giáo viên chấm điểm hoặc là đánh giá bài của mình nữa chứ. đó chính là việc tạo Pull Request cho giáo viên review nếu pass thì code của bạn được merge nếu chưa pass thì sẽ được comment việc của chúng ta lúc này là đánh giá phản biện hoặc là chỉnh sửa lại code đến khi pass yêu cầu mới được merge nhé
Nhìn dưới dạng sơ đồ:

4. Thực hành Git bằng dòng lệnh: từng bước cho người mới
Đây là phần quan trọng nhất: làm thực tế để hiểu, không chỉ đọc lý thuyết. Bạn có thể mở một repo có sẵn trên GitHub (project mẫu) hoặc tự tạo, rồi làm lần lượt các bước sau.
4.1. Clone project về máy
Lệnh:
git clone <link_repo>
Tác dụng: tải toàn bộ project từ GitHub về máy bạn.
Ví dụ: git clone https://github.com/user/demo.git
Sau khi clone xong, bạn cd (di chuyển) vào thư mục project để bắt đầu làm việc.
4.2. Xem trạng thái file
Lệnh:
git status
Cho biết trong project đang có file nào mới, file nào đã sửa, file nào đang chờ commit ( staging, Modified hay Untracked)
Lệnh này nên chạy thường xuyên sau mỗi bước để “soi” xem mình đang làm gì.
4.3. Thay đổi và thêm file
Mở file trong editor/IDE, sửa nội dung hoặc tạo file mới.
Sau đó chạy lại:
git status
Bạn sẽ thấy Git liệt kê các file mới hoặc file đã sửa là Untracked/Modified.
Đưa tất cả file thay đổi vào vùng Staging:
git add .
hoặc chỉ thêm một file cụ thể, hữu ích khi muốn commit từng phần.
git add ten_file
4.4. Commit – “Đóng gói” lại những thay đổi
Lệnh:
git commit -m "Mo ta thay doi"
Đây là bước quan trọng: bạn đang tạo 1 bản chụp lịch sử.
Message nên rõ ràng: “Fix bug login”, “Thêm màn hình đăng ký”, “Cập nhật README”…
4.5. Push & Pull – đồng bộ với GitHub
Đẩy lên Remote:
git push
Giúp tất cả code đã commit của bạn được đẩy lên GIT remote để backup và cho người khác cùng xem.
Lấy code mới nhất từ server:
git pull
Nên chạy git pull trước khi bắt đầu ngày làm việc hoặc trước khi push để tránh xung đột.
4.6. Branch cơ bản
Branch là “nhánh” phát triển riêng, để bạn thử nghiệm mà không làm hỏng nhánh chính (main/master).
Tạo branch mới từ nhánh hiện tại
git branch ten_branch_moi
Chuyển sang branch đã tồn tại:
git checkout ten_branch
Sau đó bạn code, commit, push như bình thường nhưng mọi thay đổi chỉ nằm trên nhánh đó.
4.7 Merge Code
Thường thì khi merge code chủ yếu dùng trên web của git. Sau khi bạn code hoàn thành sẵn sàng merge vào nhánh chính thì chúng ta sẽ vào trang quản lý của repository và thực hiện tạo pull request vào nhánh chính
5. Thực hành Git bằng IntelliJ IDEA: cho người “sợ” dòng lệnh
Nếu bạn thấy cửa sổ terminal đầy chữ dễ gây “hoảng loạn”, IntelliJ IDEA có giao diện trực quan để làm Git bằng chuột.
5.1. Clone project bằng UI
Vào File → New → Project from Version Control.
Dán link repo GitHub vào ô URL, chọn thư mục lưu, bấm Clone.
IntelliJ sẽ tải về project và tự cấu hình Git cho bạn. Thường thì tôi sẽ thích việc tự clone code về bẳng cli sẽ tiện hơn

5.2. Commit + Push với vài cú click
Mỗi khi sửa file, IntelliJ sẽ hiển thị chúng trong tab Commit (góc trái dưới màn hình).
Bạn chọn các file muốn commit, nhập message mô tả thay đổi, rồi chọn:
Lúc này bạn có thể chọn
- Commit: chỉ lưu local.
- Commit and Push: vừa commit, vừa push lên Git
5.3. Pull code và quản lý branch
Pull code: Chọn nhánh cần update → chọn chức năng update
Tạo/chuyển branch:Tương tự vào menu Git như trên, chọn New Branch để tạo Branch mới từ nhánh được chọn hoặc Checkout để chuyển sang nhánh muốn checkout.
Merge branch nào đó vào nhánh hiện tại: Click chọn Merge "tên nhánh muốn merge vào" into "nhánh hiện tại
7. Lỗi thường gặp và cách “chữa cháy ”
Không thể tránh khỏi lỗi, nhất là với người mới, nên phần này chỉ tập trung vào vài tình huống phổ biến và cách xử lý đơn giản.
Không push được
Thường do có người đã push trước bạn.
Cách làm: git pull để lấy code mới, giải quyết nếu có xung đột, rồi git push lại.
Conflict (xung đột)
Xảy ra khi hai người sửa cùng một đoạn code trong cùng file.
Trong IntelliJ, IDE sẽ hiển thị vùng xung đột, cho phép bạn chọn Accept Yours(Lấy những code thay đổi của bạn), Accept Theirs(Lấy những thay đổi từ Code mới được update trên server) hoặc tự sửa rồi commit lại.
Không clone được
Kiểm tra đường link repo có đúng không, repo có đang ở chế độ private không và bạn đã được cấp quyền chưa.
All Rights Reserved