Git and github
Nhật kí coding,  Bài viết hay,  Công nghệ,  Git & Github

Git & GitHub: Từ lịch sử hình thành đến hướng dẫn sử dụng chi tiết cho người mới bắt đầu

Git & GitHub | Giới thiệu, cách cài đặt và sử dụng lệnh cơ bản

Trong lĩnh vực công nghệ thông tin, đặc biệt là phát triển phần mềm, việc cộng tác giữa nhiều lập trình viên trên cùng một dự án là điều thường xuyên diễn ra. Một dự án có thể kéo dài hàng tháng, hàng năm, với hàng nghìn thay đổi được thêm mới hoặc sửa chữa mỗi ngày. Nếu không có công cụ hỗ trợ quản lý lịch sử thay đổi, chia sẻ nguồn mã và phối hợp công việc, dự án sẽ rất dễ rơi vào hỗn loạn. Chính vì vậy, GitGitHub đã trở thành hai nền tảng quan trọng nhất mà bất kỳ lập trình viên nào cũng cần phải nắm vững.

Git là gì?

Git là hệ thống quản lý phiên bản (Version Control System – VCS), được thiết kế để theo dõi toàn bộ lịch sử thay đổi của mã nguồn. Khi bạn làm việc với Git, mỗi lần bạn chỉnh sửa một file hay viết thêm một đoạn code, Git đều có thể ghi nhận và lưu lại trạng thái đó. Điều này giúp bạn có khả năng quay về phiên bản cũ khi code bị lỗi hoặc khi một tính năng không hoạt động như mong đợi.

Một điểm đặc biệt quan trọng là Git là hệ thống phân tán (Distributed Version Control). Mỗi lập trình viên đều có bản sao đầy đủ của dự án, bao gồm toàn bộ lịch sử thay đổi, ngay trên máy của họ. Điều này mang lại hai lợi ích lớn:

  • Bạn không phụ thuộc vào server – dự án vẫn hoạt động dù mất kết nối Internet.

  • Các thao tác xử lý lịch sử code trở nên nhanh và an toàn hơn vì được thực hiện trực tiếp trên máy tính cá nhân.

Git ra đời như thế nào?

Để hiểu được sức mạnh của Git, ta cần quay lại năm 2005. Thời điểm đó, cộng đồng phát triển nhân Linux do Linus Torvalds dẫn dắt đang sử dụng một hệ thống quản lý mã nguồn có tên BitKeeper. Dù BitKeeper tỏ ra hiệu quả, nhưng đây là phần mềm thương mại. Một mâu thuẫn đã xảy ra và BitKeeper ngừng cấp quyền sử dụng miễn phí cho cộng đồng Linux.

Trong bối cảnh đó, Linus Torvalds quyết định tự viết một hệ thống quản lý mã nguồn mới. Mục tiêu của ông rất rõ ràng: Git phải nhanh, đơn giản và đặc biệt là phân tán, tránh phụ thuộc vào bất kỳ công ty nào.

Điều đáng kinh ngạc là: Git được hoàn thiện bản đầu tiên trong chưa tới 2 tuần. Hệ thống này nhanh đến mức có thể xử lý hàng chục nghìn bản ghi (commits) trong vài giây. Từ đó đến nay, Git đã phát triển thành chuẩn công nghiệp và trở thành xương sống của hầu hết mọi dự án phần mềm trên thế giới.

GitHub là gì?

Trong khi Git là công cụ chạy trên máy tính, GitHub là nền tảng lưu trữ và cộng tác online dành cho các dự án Git. Mọi repository Git có thể được đưa lên GitHub để chia sẻ với team, với doanh nghiệp, hoặc với cộng đồng mã nguồn mở.

GitHub không chỉ là nơi “up code”. Nó mang đến một hệ sinh thái hoàn chỉnh để lập trình viên làm việc hiệu quả:

  • Pull Request – đề xuất hợp nhất code

  • Code Review – xem xét chất lượng

  • Issue Tracking – quản lý bug và tính năng

  • Projects – quản lý tiến độ theo mô hình Kanban

  • GitHub Actions – CI/CD tự động build và test

Không phải ngẫu nhiên mà giới lập trình xem GitHub như “mạng xã hội của developer”.
Hồ sơ GitHub của bạn chính là “CV sống” — thể hiện phong cách code, khả năng teamwork, và mức độ gắn bó với nghề.

Năm 2018, Microsoft mua GitHub với giá 7.5 tỷ USD, đánh dấu thời kỳ phát triển bùng nổ. Một trong các sản phẩm ấn tượng sau thương vụ này chính là GitHub Copilot — AI hỗ trợ lập trình thông minh.

Phân biệt Git và GitHub

Đây là điểm mà người mới thường nhầm lẫn.

  • Git là công cụ → chạy trên máy bạn.

  • GitHub là nền tảng → chạy trên Internet.

Bạn có thể sử dụng Git mà không cần Internet.
Nhưng nếu làm việc nhóm, GitHub là lựa chọn nhanh – chuẩn – phổ biến nhất.

Cách nhớ đơn giản:

“Git để quản lý phiên bản — GitHub để làm việc cùng nhau.”

GitHub là gì?

Trong khi Git là công cụ chạy trên máy tính, GitHub là nền tảng lưu trữ và cộng tác online dành cho các dự án Git. Mọi repository Git có thể được đưa lên GitHub để chia sẻ với team, với doanh nghiệp, hoặc với cộng đồng mã nguồn mở.

GitHub không chỉ là nơi “up code”. Nó mang đến một hệ sinh thái hoàn chỉnh để lập trình viên làm việc hiệu quả:

  • Pull Request – đề xuất hợp nhất code
  • Code Review – xem xét chất lượng
  • Issue Tracking – quản lý bug và tính năng
  • Projects – quản lý tiến độ theo mô hình Kanban
  • GitHub Actions – CI/CD tự động build và test

Không phải ngẫu nhiên mà giới lập trình xem GitHub như “mạng xã hội của developer”. Hồ sơ GitHub của bạn chính là “CV sống” — thể hiện phong cách code, khả năng teamwork, và mức độ gắn bó với nghề. Năm 2018, Microsoft mua GitHub với giá 7.5 tỷ USD, đánh dấu thời kỳ phát triển bùng nổ. Một trong các sản phẩm ấn tượng sau thương vụ này chính là GitHub Copilot — AI hỗ trợ lập trình thông minh.

Phân biệt Git và GitHub

Đây là điểm mà người mới thường nhầm lẫn:

  • Git là công cụ → chạy trên máy bạn.
  • GitHub là nền tảng → chạy trên Internet.
  • Bạn có thể sử dụng Git mà không cần Internet.
  • Nhưng nếu làm việc nhóm, GitHub là lựa chọn nhanh – chuẩn – phổ biến nhất.
  • Cách nhớ đơn giản: “Git để quản lý phiên bản — GitHub để làm việc cùng nhau.”

Tải và cài đặt Git

Link tải chính thức:

👉 https://git-scm.com/downloads

Trang web sẽ tự nhận diện hệ điều hành (Windows/macOS/Linux).

Cài đặt Git trên Windows

  • Tải file .exe

  • Cài đặt theo mặc định

  • Chọn “Use Git from Windows Command Prompt”

  • Chọn editor: Visual Studio Code (khuyến nghị)

Sau khi cài, bạn có thể mở Git Bash để sử dụng terminal.

🍎 Cài đặt Git trên macOS

Nếu có Homebrew:

brew install git

Hoặc tải installer từ Git SCM.

🐧 Cài đặt Git trên Ubuntu/Debian

sudo apt update
sudo apt install git

Khởi tạo Git và tạo repository local

Sau khi cài đặt Git, bạn cần cấu hình tên và email.

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

Tạo repository trong thư mục dự án

git init

Git sẽ tạo ra thư mục ẩn .git, đây là trái tim của toàn bộ hệ thống quản lý phiên bản.

Sử dụng các lệnh Git cơ bản

Bạn cần ghi nhớ 4 lệnh đầu tiên và quan trọng nhất:

  1. git status – kiểm tra trạng thái file

  2. git add . – thêm thay đổi vào staging

  3. git commit -m "Message" – lưu lại lịch sử

  4. git log – xem lịch sử commit

Lưu ý quan trọng:

Một commit phải đại diện cho một thay đổi có mục tiêu rõ ràng.
Không commit kiểu “update”, “fix”, “test”.

Kết nối với GitHub

Bước 1 — Tạo repository trên GitHub

  • Vào trang GitHub

  • Nhấn New repository

  • Đặt tên, chế độ public/private

  • Create Repository

Bước 2 — Kết nối từ local lên GitHub

Sử dụng link repository:

git remote add origin https://github.com/username/project.git
git branch -M main
git push -u origin main

Sau lần đầu, chỉ cần:

git push

Đồng bộ với GitHub: Pull và Push

Push – Đẩy code lên GitHub

git push origin main

Pull – Lấy code mới về

git pull origin main

Một nguyên tắc vàng khi làm việc nhóm:

Luôn pull trước khi viết code.

Branch – Quy trình phát triển chuyên nghiệp

Branch cho phép bạn phát triển tính năng riêng mà không ảnh hưởng đến phần còn lại của dự án.

Ví dụ đặt tên nhánh:

  • feature/login

  • feature/cart

  • bugfix/api-timeout

  • hotfix/payment

Tạo branch:

git checkout -b feature/login

Trở về nhánh chính:

git checkout main

Merge branch

Sau khi hoàn thiện:

  • Tạo Pull Request trên GitHub

  • Review code

  • Approve

  • Merge

HTTPS hay SSH – nên dùng cái nào?

Có 2 cách kết nối Git với GitHub:

HTTPS

  • Dễ dùng

  • Nhập mật khẩu nhiều lần

SSH

  • Bảo mật cao

  • Được doanh nghiệp khuyến nghị

Tạo SSH key rất đơn giản:

ssh-keygen -t ed25519 -C "youremail@example.com"

Copy key → GitHub → Settings → SSH Keys.

GitHub Desktop – lựa chọn dễ dàng cho người mới

Nếu bạn không quen terminal:
👉 https://desktop.github.com/

Giao diện kéo – thả, commit – push trực quan.
Phù hợp cho sinh viên bắt đầu hoặc người làm nội dung.

Git không chỉ là công cụ

Khi bạn làm quen với Git, bạn học được nhiều hơn chỉ là cách gõ lệnh.
Bạn hiểu:

  • Lịch sử code được ghi nhận thế nào

  • Làm việc nhóm ra sao

  • Làm thế nào để triển khai tính năng mà không phá hỏng hệ thống

  • Cách tư duy chia nhỏ nhiệm vụ

  • Cách ghi nhận trách nhiệm cá nhân

Học Git sớm không giúp bạn “ngầu hơn”,
mà giúp bạn đau ít hơn khi dự án phát triển.

Nguồn tìm hiểu

Kết luận

Git và GitHub là hai nền tảng cốt lõi của ngành phần mềm hiện đại.
Git giúp bạn quản lý phiên bản, bảo vệ mã nguồn và đảm bảo tính ổn định.
GitHub giúp bạn cộng tác, phát triển dự án theo chuẩn nghề nghiệp và xây dựng thương hiệu cá nhân.

Bạn không cần dùng ngay tất cả tính năng. Hãy bắt đầu như sau:

  1. Tạo repository

  2. Commit cẩn thận

  3. Push lên GitHub

  4. Sử dụng branch

  5. Học Pull Request

Từ những bước nhỏ đó, bạn sẽ tiến rất xa.

Don’t get older. I level up.

Leave a Reply

Your email address will not be published. Required fields are marked *