Hướng dẫn kết nối Ubuntu với GitHub: Cài đặt, cấu hình Git và quản lý mã nguồn cho lập trình viên

目次

1. Giới thiệu

Ý nghĩa của việc liên kết Ubuntu với GitHub là gì?

Gần đây, việc sử dụng Git và GitHub đã trở nên phổ biến trong phát triển phần mềm và quản lý hệ thống. Đặc biệt đối với các kỹ sư và lập trình viên làm việc trên môi trường Linux như Ubuntu, liên kết với GitHub đã trở thành một phần công việc hàng ngày.

Git là công cụ quản lý phiên bản mã nguồn không thể thiếu khi phát triển nhóm. GitHub là dịch vụ lưu trữ cho các kho lưu trữ Git cho phép chia sẻ và công khai trên Internet, đóng vai trò là trung tâm trao đổi mã nguồn cho các nhà phát triển trên toàn thế giới.

Tại sao nên sử dụng GitHub trên môi trường Ubuntu?

Ubuntu là bản phân phối Linux rất được ưa chuộng bởi các lập trình viên nhờ sự tương thích tuyệt vời với phát triển mã nguồn mở. Môi trường này dễ dàng cài đặt Git và các công cụ phát triển khác, giúp việc liên kết với GitHub diễn ra trơn tru.

Chẳng hạn, bạn có thể tận dụng Ubuntu và GitHub trong các trường hợp sau:

  • Quản lý và chia sẻ mã nguồn Python, C++… trên GitHub
  • Đóng góp cho các dự án mã nguồn mở (contribute)
  • Công khai sản phẩm cá nhân làm portfolio

Những gì bạn có thể làm được sau bài viết này

Hướng dẫn này sẽ giải thích chi tiết từ cơ bản đến nâng cao về cách sử dụng GitHub trên Ubuntu thông qua các bước thực tiễn.

  • Cách cài đặt Git trên Ubuntu
  • Thiết lập Git ban đầu và cấu hình kết nối SSH
  • Tạo và thao tác kho lưu trữ (repository) trên GitHub
  • Liên kết hiệu quả với Visual Studio Code
  • Cách xử lý sự cố thường gặp & FAQ

Ngay cả người mới bắt đầu cũng có thể làm theo với các ví dụ lệnh thực tế và lưu ý quan trọng. Nếu bạn là người dùng Ubuntu muốn tận dụng tối đa GitHub, hãy đọc đến cuối nhé!

年収訴求

2. Cài đặt Git trên Ubuntu

Git là gì? Hiểu lại khái niệm cơ bản

Git là hệ thống quản lý phiên bản (VCS: Version Control System) trong phát triển phần mềm, giúp lưu trữ lịch sử thay đổi mã nguồn, phục hồi trạng thái cũ và làm việc nhóm hiệu quả.

Điểm hấp dẫn của Linux như Ubuntu là việc cài đặt Git cực kỳ đơn giản. Bạn có thể hoàn tất chỉ trong vài phút qua Terminal với hướng dẫn dưới đây.

Các bước cài đặt Git (qua APT)

Cài đặt Git trên Ubuntu thường sử dụng APT (Advanced Package Tool). Làm theo các bước sau:

1. Cập nhật danh sách package mới nhất

sudo apt update

Lệnh này giúp hệ thống lấy thông tin gói mới nhất. Nên thực hiện trước khi cài đặt.

2. Cài đặt Git

sudo apt install git

Nếu được hỏi xác nhận cài đặt “Y/n”, hãy nhập “y” rồi nhấn Enter để bắt đầu.

Xác nhận cài đặt Git

Sau khi cài đặt xong, kiểm tra bằng lệnh sau:

git --version

Nếu hiện ra kết quả như sau thì đã cài đặt thành công:

git version 2.34.1

Phiên bản có thể khác nhau tùy bản Ubuntu hoặc gói cài đặt, nhưng miễn có thông tin phiên bản trả về là OK.

Cài đặt qua Snap (bổ sung)

Ubuntu cũng cho phép cài Git bằng lệnh snap, nhưng APT phổ biến và ổn định hơn. Nếu không có lý do đặc biệt, nên chọn APT.

3. Thiết lập Git ban đầu

Những cài đặt cần làm trước khi dùng Git

Sau khi cài Git, bước tiếp theo là cấu hình thông tin người dùng và xác thực. Điều này giúp giao tiếp với kho lưu trữ từ xa, phát triển nhóm thuận lợi.

Thiết lập tên người dùng và email cho Git

Với mỗi lần commit, Git lưu thông tin “ai đã thực hiện thay đổi”. Bạn cần đặt sẵn tên và email.

Lệnh thiết lập

git config --global user.name "Tên của bạn"
git config --global user.email "you@example.com"

Không bắt buộc phải trùng với tài khoản GitHub, nhưng nên dùng giống GitHub để liên kết lịch sử commit với tài khoản cho dễ quản lý.

Kiểm tra nội dung thiết lập

git config --list

Lệnh này giúp kiểm tra tất cả cài đặt hiện tại.

Tạo SSH key và đăng ký với GitHub

Bạn có thể dùng HTTPS, nhưng thiết lập SSH giúp không phải nhập mật khẩu mỗi lần và an toàn, tiện lợi hơn.

1. Tạo SSH key

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

Nhấn Enter vài lần theo hướng dẫn để tạo cặp khóa: ~/.ssh/id_ed25519 (khóa bí mật) và ~/.ssh/id_ed25519.pub (khóa công khai).

2. Khởi động ssh-agent và thêm key

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Như vậy đã chuẩn bị xong SSH key.

3. Đăng ký public key với GitHub

Sao chép public key vào clipboard:

cat ~/.ssh/id_ed25519.pub

Sao chép toàn bộ nội dung, rồi thực hiện các bước trên GitHub:

  1. Đăng nhập GitHub
  2. Bấm ảnh đại diện → “Settings”
  3. Chọn “SSH and GPG keys” ở menu bên trái
  4. Bấm “New SSH key”, dán khóa công khai và lưu

4. Kiểm tra kết nối SSH

Kiểm tra kết nối bằng lệnh:

ssh -T git@github.com

Lần đầu sẽ hỏi “Có tin tưởng host này không?”, hãy nhập “yes”.
Nếu thành công, bạn sẽ thấy thông báo như sau:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

Sau khi cài đặt, nên làm gì tiếp?

Sau khi hoàn thành các bước trên, bạn đã có thể clone, push, pull kho lưu trữ trên GitHub. Phần tiếp theo sẽ hướng dẫn chi tiết cách tạo và thao tác repository GitHub.

4. Thao tác với repository trên GitHub

Tạo repository mới trên GitHub

Sau khi đăng nhập GitHub, hãy tạo repository mới theo các bước sau.

Các bước thực hiện (trên trình duyệt web)

  1. Bấm dấu “+” ở góc phải trên cùng GitHub, chọn “New repository”
  2. Nhập các thông tin sau:
  • Repository name: Ví dụ my-first-repo
  • Description (tùy chọn): Mô tả ngắn gọn
  • Public / Private: Chọn công khai hoặc riêng tư
  1. Bấm “Create repository”

Sau khi tạo xong, URL repository sẽ được hiển thị để sử dụng khi clone.

Clone repository GitHub về máy

Để nhân bản repository về Ubuntu, dùng lệnh git clone như sau.

git clone git@github.com:your-username/my-first-repo.git

(Ví dụ dùng kết nối SSH. Nếu dùng HTTPS, URL sẽ khác.)

Kết quả, thư mục my-first-repo sẽ xuất hiện tại thư mục hiện tại, chứa toàn bộ nội dung repository.

Quy trình thay đổi, staging, commit file

1. Thêm hoặc chỉnh sửa file

Ví dụ tạo file mới:

echo "# Lần đầu dùng GitHub" > README.md

2. Đưa thay đổi vào staging

git add README.md

Staging là bước chọn thay đổi sẽ được commit tiếp theo.

3. Commit thay đổi

git commit -m "Commit đầu tiên: Thêm README.md"

Bây giờ, thay đổi đã được lưu vào lịch sử local.

Đẩy thay đổi lên GitHub (push)

Để cập nhật thay đổi local lên repository trên GitHub, sử dụng:

git push origin main

(Nếu branch mặc định không phải main mà là master… hãy đổi cho phù hợp.)

Kéo thay đổi mới nhất từ remote về (pull)

Nếu có người khác cập nhật trên remote, hãy dùng lệnh này để lấy về máy:

git pull origin main

Lệnh này sẽ hợp nhất thay đổi từ remote vào branch local.

Các thao tác bổ sung thường dùng

  • Kiểm tra remote repository:
git remote -v
  • Thêm remote repository khác:
git remote add origin git@github.com:your-username/another-repo.git
  • Chỉnh sửa README.md, .gitignore cũng quản lý theo quy trình tương tự.

5. Liên kết với Visual Studio Code

VS Code là editor lý tưởng cho Git

Khi dùng GitHub trên Ubuntu, kết hợp với Visual Studio Code (VS Code) giúp tăng hiệu suất làm việc. VS Code là editor mã nguồn mở của Microsoft, nổi bật nhờ tích hợp Git cực kỳ mạnh mẽ. Bạn có thể commit, push, xem diff trực quan ngay trên giao diện GUI, rất thân thiện cho người mới.

Cách cài đặt VS Code trên Ubuntu

Cài VS Code trên Ubuntu rất đơn giản qua các bước sau.

1. Thêm repository của Microsoft

sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

2. Đăng ký thông tin repository

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

3. Cài đặt VS Code

sudo apt update
sudo apt install code

Sau khi cài đặt, nhập code trong terminal để mở editor.

Tính năng Git tích hợp sẵn

VS Code tích hợp sẵn chức năng Git ngay từ khi cài đặt, không cần plugin bổ sung để thao tác Git cơ bản. Tuy nhiên, nếu muốn tiện lợi hơn, nên cài thêm các extension sau:

  • GitHub Pull Requests and Issues
    → Tăng khả năng thao tác Pull Request và quản lý Issue bằng giao diện GUI.
  • GitLens
    → Hiển thị lịch sử thay đổi từng dòng mã, ai thay đổi và khi nào.

Các thao tác Git cơ bản trên VS Code

Mở repository

Di chuyển đến thư mục project đã clone trong terminal, sau đó chạy:

code .

VS Code sẽ đọc repository đó.

Kiểm tra thay đổi và commit

  • Bấm biểu tượng “Quản lý mã nguồn” ở sidebar trái (dạng nhánh cây)
  • Xem danh sách file thay đổi
  • Bấm vào file để xem diff
  • Nhập commit message, bấm biểu tượng “✓” để commit

Push/Pull

  • Chọn “Push” hoặc “Pull” từ menu “…” bên sidebar
  • Hoặc thao tác từ thanh trạng thái góc dưới phải

Có thể dùng cả terminal bên trong VS Code

Sử dụng terminal tích hợp (Ctrl +) trong VS Code để chuyển đổi linh hoạt giữa GUI và dòng lệnh. Ví dụ: commit bằng GUI, tạo branch bằng terminal…

Gợi ý xử lý sự cố thường gặp

  • Lỗi kết nối SSH: kiểm tra VS Code đã tham chiếu đúng SSH key
  • Nên thiết lập lại thông tin xác thực hoặc tạo mới Personal Access Token (PAT) trên GitHub để xác thực lại

6. Xử lý sự cố phổ biến

Lỗi SSH: “Permission denied (publickey).”

Nguyên nhân

  • Chưa tạo hoặc chưa đăng ký đúng SSH key
  • Chưa thêm public key vào GitHub
  • ssh-agent chưa nhận diện được khóa

Cách xử lý

  1. Kiểm tra đã có SSH key chưa:
   ls ~/.ssh/id_ed25519.pub

Nếu chưa có, tạo mới:

   ssh-keygen -t ed25519 -C "your_email@example.com"
  1. Khởi động ssh-agent và thêm khóa:
   eval "$(ssh-agent -s)"
   ssh-add ~/.ssh/id_ed25519
  1. Thêm public key vào GitHub:
   cat ~/.ssh/id_ed25519.pub

→ Thêm qua “SSH and GPG keys” trên GitHub

  1. Kiểm tra kết nối:
   ssh -T git@github.com

Lỗi xác thực (HTTPS): bị hỏi username/password

Nguyên nhân

  • GitHub đã bỏ xác thực bằng password, bắt buộc dùng token

Cách xử lý

  1. Phát hành “Personal Access Token” trên GitHub
    https://github.com/settings/tokens
    → Chọn repo và tạo token
  2. Khi được hỏi đăng nhập Git: user là tên tài khoản GitHub, password là token đã tạo
  3. Nếu muốn lưu lại xác thực, dùng lệnh sau để bật cache:
   git config --global credential.helper cache

Lỗi “fatal: not a git repository”

Nguyên nhân

  • Chạy lệnh git ngoài thư mục repository

Cách xử lý

  • Chuyển vào thư mục repository đã clone:
  cd ~/your-project-directory
  • Hoặc khởi tạo mới repository:
  git init

Khi xảy ra conflict (xung đột)

Nguyên nhân

  • Khi bạn và người khác chỉnh sửa cùng một chỗ trên cùng một file thì merge sẽ bị conflict

Cách xử lý

  1. Khi chạy git pull bị lỗi, hãy mở file bị conflict bằng editor
  2. Sẽ thấy các dấu mark như sau:
   <<<<<<< HEAD
   Thay đổi của bạn
   =======
   Thay đổi của người khác
   >>>>>>> origin/main
  1. Giữ lại nội dung cần thiết, xóa mark, rồi lưu file
  2. Sau đó chạy:
   git add .
   git commit

Lỗi “remote: Repository not found.”

Nguyên nhân

  • Sai URL repository
  • Tài khoản không có quyền truy cập repository đó

Cách xử lý

  • Kiểm tra URL remote:
  git remote -v
  • Nếu sai, thiết lập lại:
  git remote set-url origin git@github.com:your-username/your-repo.git

Đây đều là các lỗi phổ biến với người mới bắt đầu. Khi nắm rõ nguyên nhân & cách xử lý, bạn sẽ giải quyết dễ dàng. Mỗi lỗi là cơ hội học hỏi, hãy kiên trì luyện tập nhé!

7. FAQ (Các câu hỏi thường gặp)

Q1. Sự khác biệt giữa Git và GitHub là gì?

Trả lời:
Git là công cụ quản lý phiên bản cho phép lưu lịch sử thay đổi mã nguồn trên máy tính cá nhân. GitHub là dịch vụ chia sẻ và quản lý repository Git trên Internet.

  • Git: Quản lý lịch sử offline trên máy
  • GitHub: Lưu trữ lịch sử trên cloud, dễ chia sẻ với người khác

Q2. Nên dùng SSH hay HTTPS để kết nối?

Trả lời:
Nên dùng SSH vì các lý do sau:

  • Không cần nhập mật khẩu mỗi lần (dùng key)
  • An toàn hơn, dễ dùng lâu dài

Tuy nhiên, nếu môi trường mạng công ty yêu cầu HTTPS thì cần linh hoạt chọn theo tình huống.

Q3. Dùng nhiều tài khoản GitHub trên Ubuntu như thế nào?

Trả lời:
Tạo SSH key riêng cho từng tài khoản và cấu hình file SSH cho phù hợp.

  1. Tạo key riêng cho mỗi tài khoản
    Ví dụ: ~/.ssh/id_ed25519_work, ~/.ssh/id_ed25519_personal
  2. Thêm cấu hình vào ~/.ssh/config:
   Host github.com-work
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_ed25519_work

   Host github.com-personal
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_ed25519_personal
  1. Chỉnh lại remote trong .git/config hoặc dùng git remote set-url:
   git remote set-url origin git@github.com-work:your-work-user/your-repo.git

Q4. Có thể thao tác Git bằng giao diện GUI không?

Trả lời:
Hoàn toàn có. Visual Studio Code cho phép thao tác Git trên GUI rất trực quan như commit, push, xem diff, chuyển branch… Rất phù hợp với người mới.

Q5. Nếu xóa remote repository trên GitHub, repo local sẽ ra sao?

Trả lời:
Xóa repository trên GitHub không ảnh hưởng đến repo local, nhưng git push sẽ báo lỗi.

Muốn kết nối repo local với remote mới, hãy đổi URL như sau:

git remote set-url origin git@github.com:new-user/new-repo.git

Q6. Không quen terminal, có cách nào dùng hoàn toàn GUI không?

Trả lời:
Có thể dùng các ứng dụng Git GUI như:

  • GitKraken
  • Sourcetree (không hỗ trợ Linux gốc, có thể chạy qua Wine)
  • Visual Studio Code (tích hợp sẵn Git)

Đối với người dùng Ubuntu, kết hợp VS Code + GitLens là dễ tiếp cận và hiệu quả nhất.

Q7. Có thể xem lại lịch sử Git đến đâu?

Trả lời:
Git lưu toàn bộ lịch sử từ commit đầu tiên. Sử dụng lệnh sau để xem lịch sử:

git log

Muốn xem lịch sử một file cụ thể:

git log path/to/file
年収訴求