GitHub Desktop: clone và cập nhật repo mà không cần gõ lệnh
GitHub Desktop giúp bạn lấy repo về máy và cập nhật khi cần. Khi đăng nhập, app đòi quyền đọc và ghi mọi repo, kể cả repo riêng tư.

Mục lục
- 1. GitHub Desktop làm gì thay bạn
- 2. Bạn có cần GitHub Desktop không
- 3. Trước khi cài: máy và tài khoản
- 4. Cài GitHub Desktop trên Mac và Windows
- 5. Đăng nhập GitHub Desktop: app đòi quyền gì?
- 6. Clone repo đầu tiên bằng GitHub Desktop
- 7. Cập nhật repo đã clone: Fetch origin rồi Pull origin
- 8. Lỗi đăng nhập và lỗi clone hay gặp
- 9. Gỡ GitHub Desktop và thu hồi quyền
GitHub Desktop là app miễn phí của GitHub giúp bạn lấy repo về máy và bấm cập nhật bản mới mà không cần gõ lệnh. Hiểu gọn, repo là chỗ chứa mã và file của một dự án trên nền tảng lưu kho mã nguồn GitHub.
Theo từng bước dưới đây, bạn sẽ tự lấy được repo công cụ AI về máy dùng và cập nhật khi có bản mới. Tuấn cũng chỉ rõ app đòi quyền gì trên tài khoản GitHub để bạn xem kỹ rồi mới bấm đồng ý.
Bạn dùng Mac chip M (như M1, M2…) cứ làm thẳng theo hình minh hoạ. Còn máy Windows làm khác chỗ nào, Tuấn đều ghi riêng trong từng mục.

TÓM TẮT NHANH
- Ứng dụng này là gì: Đây là app miễn phí, mã nguồn mở giúp bạn tải và quản lý repo bằng nút bấm. Nếu tác giả repo làm sẵn bộ cài cho công cụ, bạn tải ở mục Releases (bản phát hành), khỏi cài app này.
- Cài đặt: tải đúng bản theo chip Mac trên trang chính chủ, còn máy Windows cần Windows 10 trở lên, loại 64-bit. Máy bạn thuộc loại nào thì xem dòng System type trong Settings > System > About. Hiện chưa có bản cho Linux.
- Đăng nhập: đăng nhập trên trình duyệt mặc định; app xin quyền đọc lẫn ghi mọi repo, kể cả repo riêng tư.
- Lấy repo: mở hộp Clone (tải trọn repo về) từ màn bắt đầu hoặc menu File, chọn thẻ URL, dán địa chỉ rồi bấm Clone.
- Cập nhật và gỡ: bấm Fetch origin rồi Pull origin để kéo bản mới từ
origin(repo gốc trên GitHub) về máy. Khi nghỉ dùng, bạn nhớ xoá app trên máy và thu hồi quyền trên GitHub.
1. GitHub Desktop làm gì thay bạn
Mỗi lần bạn bấm nút trên cửa sổ, app tự chạy lệnh Git thay bạn. Git là phần mềm ghi lịch sử phiên bản của repo.

Chẳng hạn khi bạn bấm Clone, app tự chạy lệnh git clone. Lệnh này kéo trọn bản sao repo về ổ cứng, kèm lịch sử mọi phiên bản của từng file.
Bạn mới dùng cứ bỏ qua khung lệnh dưới, đây là lệnh thật app tự chạy để người rành kỹ thuật xem:
git -c init.defaultBranch=master -c protocol.ext.allow=never -c protocol.ext.exe.allow=never clone --recursive --progress -- https://github.com/octocat/Hello-World.git <thư mục>Cài app rồi có cần cài thêm Git không? Khỏi nha bạn, vì app đã mang sẵn bộ Git riêng bên trong, không dùng chung với Git cài trên máy.
Theo tài liệu hãng, bạn chỉ cài Git riêng từ git-scm.com khi muốn tự gõ git trong Terminal (cửa sổ gõ lệnh). Tuấn thích điểm này vì người mới không phải mở Terminal ngay từ đầu khi tập vibecode (nhờ AI viết code).
Bạn nào rành kỹ thuật muốn biết thêm thì bản 3.6.10 cho Mac đóng kèm Git 2.56.0 tại Contents/Resources/app/git/bin/git.
App cũng miễn phí và dùng giấy phép mã nguồn mở MIT (cho dùng, sửa tự do). GitHub mở công khai mã nguồn của app tại repo desktop/desktop.
2. Bạn có cần GitHub Desktop không
Gặp công cụ AI muốn thử, bạn xem mình cần tải và cập nhật repo hay chỉ lấy bộ cài có sẵn.

- Sửa mã rồi gửi lên: Theo tài liệu GitHub, đây là một cách dùng phổ biến của app. Người dùng tải repo về, mở trình soạn code như Visual Studio Code ra sửa, xong quay lại app bấm lưu và gửi lên. Bài này chỉ hướng dẫn tải repo về máy và cập nhật, không dạy sửa mã rồi gửi lên.
- Tải repo về và cập nhật bản mới: Nhiều công cụ AI mã nguồn mở cần bạn tải repo về rồi chạy công cụ ngay trên máy. Vài bữa có bản vá mới, bạn mở GitHub Desktop bấm Fetch origin rồi Pull origin để kéo về, khỏi xoá thư mục cũ tải lại.
- Chỉ cần bộ cài hay một file: Nếu tác giả có làm sẵn bộ cài để mở chạy ngay, bạn cứ tải riêng bộ cài ở mục Releases. Còn chỉ cần lấy các file hiện có về dùng mà không cần lịch sử, bạn tải gói nén ZIP là đủ. Cài thêm app lúc này chỉ tốn ổ cứng thôi.
Thói quen của Tuấn là công cụ AI nào mình xác định vọc lâu dài và hay có bản vá hằng tuần thì mới đưa vào app quản lý cho nhàn.
3. Trước khi cài: máy và tài khoản
Trước khi cài app, bạn cần máy chạy macOS hoặc Windows bản đủ mới và tài khoản GitHub đã xác minh địa chỉ email.

3.1 Máy nào cài được
Bản 3.6.10 cho Mac cần macOS 13.0 trở lên, dù tài liệu hãng ghi từ macOS 12.0. Bạn xem phiên bản macOS ở menu Apple › About This Mac, nếu máy còn ở macOS 12 thì nâng lên macOS 13 trước khi cài.
Cả Mac lẫn Windows đều cần hệ điều hành 64-bit, trong đó máy Windows theo tài liệu hãng cần từ Windows 10 trở lên. Trên Windows, bạn mở Settings > System > About xem dòng System type có phải 64-bit không.
Riêng máy chạy Linux thì hiện vẫn chưa có bản chính thức.
Trên Mac, bạn xem trước máy mình là Mac chip M hay Mac chip Intel để lát chọn đúng nút tải. Giải nén xong, GitHub Desktop.app chiếm khoảng 1,1 GB gồm cả 652 MB của thư mục Git đi kèm, nên bạn nhớ chừa dư ổ trống.
3.2 Chưa có tài khoản GitHub
Chưa có tài khoản thì bạn mở trang đăng ký tài khoản để tạo mới hoặc đăng ký qua Google, Apple. Tạo xong bạn nhớ vào hộp thư xác minh email ngay, vì chưa xác minh thì bạn chưa làm được những việc như tạo repo.
Hãng cũng khuyên bạn bật xác minh hai bước (2FA) ngay từ đầu để bảo vệ tài khoản tốt hơn.

Khi mở app, màn hình chào cũng có mục Create your free account để đăng ký và nút Skip this step để bỏ qua. Bạn đừng bỏ qua mà cứ đăng nhập theo mục 5, vì hãng yêu cầu đăng nhập mới làm việc được với repo.
4. Cài GitHub Desktop trên Mac và Windows
4.1 Bước 1: Chọn bản GitHub Desktop đúng chip trên trang chính chủ
Trang tải dành cho Mac tách riêng bộ cài theo từng dòng chip.

desktop.github.com/download
- Mở trình duyệt vào trang tải chính chủ của app.
- Máy Mac chip dòng M thì bấm Download for Apple silicon, còn máy Mac chip Intel thì bấm Download for Intel chip.
Bản Mac tải về là gói ZIP chứ không phải .dmg (file ảnh đĩa Mac). Máy Mac chip M sẽ nhận file GitHubDesktop-arm64.zip.
File ZIP bản 3.6.10 dành cho Mac chip M nặng khoảng 538 MB. Các bản cập nhật về sau có thể thay đổi chữ trên nút hoặc giao diện đôi chút.
4.2 Bước 2: Giải nén file ZIP rồi mở app
- Trong thư mục
Downloads, bấm đúp file ZIP vừa tải (trên Mac chip M làGitHubDesktop-arm64.zip) để giải nén. - Kéo
GitHub Desktop.appvừa bung ra vào thư mụcApplications. - Bấm đúp
GitHub Desktop.apptrongApplicationsđể mở lần đầu.
Trên macOS có sẵn bộ kiểm an toàn tên là Gatekeeper. Theo hướng dẫn mở app an toàn của Apple, Gatekeeper sẽ xét chữ ký hãng và xác nhận Apple đã quét không thấy mã độc.
Lần đầu mở, Mac vẫn hỏi bạn có chắc muốn chạy không vì app tải qua trình duyệt ngoài App Store.

Ở hộp thông báo của Mac, bạn bấm nút Open (Mở) là chạy được app.
Bạn nào rành dòng lệnh Mac có thể kiểm chữ ký số của app bằng hai lệnh kèm kết quả nguyên văn dưới đây:
$ codesign -dv --verbose=2 "/Applications/GitHub Desktop.app"
Authority=Developer ID Application: GitHub (VEKTX9H2N7)
Notarization Ticket=stapled
$ spctl -a -vv -t exec "/Applications/GitHub Desktop.app"
accepted
source=Notarized Developer IDKết quả này chỉ cho biết đúng app do GitHub ký và Apple quét không thấy mã độc. Nó không có nghĩa là app không có lỗi đâu nha.
4.3 Cài trên Windows (thay Bước 1 và 2 của Mac)
Theo tài liệu hãng, trên Windows bạn tải và mở file setup (file cài đặt của app):
- Trên trang tải chính chủ, bạn bấm nút Download for Windows (64bit).
- Mở thư mục
Downloadsrồi bấm đúp vào filesetupcủa GitHub Desktop vừa tải về. - Đợi trình cài chạy xong là cửa sổ app tự bật lên cho bạn dùng.
Còn nút Download for Windows (MSI) chỉ dành cho quản trị mạng cài hàng loạt trong công ty nên bạn cứ bỏ qua.
5. Đăng nhập GitHub Desktop: app đòi quyền gì?
Mở app lên, bạn cần đăng nhập để truy cập repo trên GitHub, và Tuấn khuyên nên xem kỹ ba dòng quyền trước khi bấm. Quyền là những việc app được phép làm với tài khoản GitHub của bạn.

5.1 Quyền GitHub Desktop xin khi đăng nhập
Lúc đăng nhập ở mục 5.2, app mở trình duyệt xin ba quyền repo, user và workflow (quy trình tự động). Muốn tra kỹ nghĩa gốc từng mục, bạn xem bảng giải nghĩa từng quyền trên tài liệu GitHub.
Quyền lớn nhất là repo, tức dòng Full control of private repositories. Quyền này cho phép app đọc lẫn ghi mọi repo công khai và repo riêng tư.
Quyền user là dòng Update all user data, cho phép đọc và sửa thông tin hồ sơ cá nhân. Còn quyền workflow là dòng Update github action workflows, cho thêm và sửa các file workflow của GitHub Actions (công cụ tự chạy việc trên GitHub).
Thật lòng là nhìn dòng toàn quyền đọc ghi repo riêng tư, Tuấn cũng hơi khựng lại dù biết đây là app chính chủ. Nếu cần dùng app thì bạn cứ bấm đồng ý để đăng nhập, vì quyền này về sau thu hồi lúc nào cũng được.
Nguyên tắc của Tuấn là còn xài thì giữ, nghỉ xài là cắt quyền ngay. Bạn xem lại hoặc thu hồi cả ba quyền này tại thẻ Authorized OAuth Apps trên GitHub theo mục 9.2.
5.2 Bước 3: Bấm Sign in to GitHub.com, đăng nhập trên trình duyệt
App không nhận tên tài khoản và mật khẩu gõ thẳng bên trong cửa sổ đâu, mà sẽ dẫn bạn qua trình duyệt mặc định để xác nhận rồi mới quay về.

- Bấm Sign in to GitHub.com ngay trên màn hình chào.
- Trên trình duyệt mặc định vừa bật lên, bạn đăng nhập tài khoản kèm mã 2FA nếu có bật, rồi bấm đồng ý cấp quyền.
- Khi trình duyệt hiện hộp thông báo hỏi mở lại GitHub Desktop, bạn bấm xác nhận để quay về cửa sổ app.
Khi đã qua màn chào mà cần đăng nhập lại sau lỗi hay thu hồi quyền, trên Mac bạn mở GitHub Desktop › Settings › Accounts. Còn trên Windows, bạn mở File › Options › Accounts.
Tại đây, bạn bấm Sign Into, xong bấm nút Continue With Browser để app mở trình duyệt mặc định.
Chi tiết từng màn xác thực đều có trong hướng dẫn đăng nhập của GitHub nếu bạn cần xem thêm.
Cả bước này mất khoảng 30 giây, tính từ lúc trình duyệt mở trang đăng nhập tới khi app sang màn kế tiếp. Con số này chỉ để bạn ước chừng, nhanh hay chậm hơn còn tuỳ máy và mạng.
5.3 Bước 4: Điền tên và email ở màn Configure Git
Đăng nhập xong, app chuyển qua màn Configure Git để bạn đặt tên và email gắn vào mỗi commit (một lần lưu thay đổi của repo).
Bạn nhớ lưu ý ai cũng thấy địa chỉ email này khi commit của bạn được đăng công khai.

Ở màn này, bạn chọn Use my GitHub account name and email address hoặc Configure manually rồi bấm Finish.
App ghi tên và email bạn đặt ở màn này vào file cấu hình Git chung ~/.gitconfig trên máy. Nếu file này đã có sẵn tên và email thì app lấy dùng luôn.
Bạn nào rành kỹ thuật có thể xem thêm những gì app ghi vào Mac. App thêm mục GitHub - https://api.github.com vào Keychain (kho lưu khoá của Mac).
Nếu máy chưa có file cấu hình Git chung ~/.gitconfig, app sẽ tạo mới theo tên và email bạn chọn. Mẫu file dưới đây dùng tên và email giả để minh hoạ:
[user]
name = Ten Cua Ban
email = email@vi-du.com
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = trueKhối [filter "lfs"] ở cuối file là phần app tự thêm sẵn, bạn cứ để nguyên không cần đụng tới.
6. Clone repo đầu tiên bằng GitHub Desktop
Ở phần này, bạn dùng nút clone để tải repo mẫu công khai octocat/Hello-World của GitHub về máy.
Nút này nằm trên màn Let's get started!, một màn gồm bốn nút lớn hiện ra ngay sau bước điền tên.
6.1 Bước 5: Mở hộp Clone, chọn thẻ URL
Có sẵn địa chỉ repo mẫu để tập hay repo công cụ cần tải, bạn mở thẳng thẻ URL để dán vào là tiện nhất.

dựng lại theo GitHub Desktop 3.6.10
- Trên màn bắt đầu, bạn bấm Clone a Repository from the Internet…, hoặc vào menu File chọn Clone Repository.
- Hộp
Clone a Repositoryhiện ba thẻGitHub.com,GitHub EnterprisevàURL, bạn bấm sang thẻ URL.
Ô địa chỉ này nhận cả link đầy đủ lẫn kiểu gõ ngắn chủ/tên-repo như octocat/Hello-World, Tuấn khoái vì gõ rất lẹ.
6.2 Bước 6: Dán địa chỉ, chọn chỗ lưu, bấm Clone
- Để tập theo bài, bạn dán repo mẫu
https://github.com/octocat/Hello-Worldvào ô địa chỉ. Khi tải công cụ thật, bạn dán địa chỉ repo của công cụ đó, miễn là bạn có quyền xem. - Kiểm tra ô Local Path (thư mục lưu trên máy). Mặc định app điền
~/Documents/GitHubrồi tự nối tên repo thành~/Documents/GitHub/Hello-World. Muốn lưu chỗ khác, bạn bấm Choose… để đổi. - Bấm nút Clone ở góc dưới hộp thoại.
Với repo mẫu nhỏ Hello-World, thư mục tải về có file README (file giới thiệu dự án). Bản sao này cũng kèm đủ lịch sử phiên bản để bạn xem ở thẻ History mục 6.3.
Bấm Clone xong, hộp thoại đóng sau chưa tới 2 giây và thư mục chỉ nặng chừng 128 KB. Đó là với repo mẫu rất nhỏ, chứ gặp repo công cụ AI nặng thì máy tải lâu hơn.
Tải xong, cửa sổ chính mở ra và hiện đúng tên Hello-World ở thanh trên cùng là repo đã nằm gọn trên máy bạn.

Bạn nhớ là clone repo người khác chỉ tạo bản sao trên máy bạn thôi.
Nếu gửi thay đổi lên repo chưa có quyền ghi, app sẽ đề nghị bạn tạo fork. Fork là bản sao của repo đó nằm trong tài khoản riêng của bạn.
Phần lưu và gửi thay đổi thì bài này không dạy.
6.3 Clone xong, app hiện gì
Lúc này repo Hello-World đã mở và thẻ Changes báo chưa có file nào đổi. Nút Fetch origin ở thanh trên dùng để kiểm tra bản mới, cách bấm ở mục 7.
Giữa màn hình có mục Show in Finder, phím tắt ⌘⇧F trên Mac, để mở thư mục chứa file. Kế bên là View on GitHub, phím tắt ⌘⇧G, để mở trang repo trên web.
Cạnh thẻ Changes là thẻ History để xem các lần lưu cũ. Mở thẻ History của repo mẫu này, bạn sẽ thấy đúng 3 commit.
Bấm dòng đầu Merge pull request #6 from Spaceghost/patch-1, bạn thấy README hiện (+1 −1), tức thêm một dòng và bỏ một dòng. Nhìn vào đây rất dễ biết tác giả vừa sửa gì.
7. Cập nhật repo đã clone: Fetch origin rồi Pull origin
Repo công cụ AI có bản vá mới thì làm sao kéo về? Bạn chỉ cần bấm Fetch origin xem trên GitHub có gì mới không, rồi bấm Pull origin để lấy về máy.

- Trên thanh trên cùng, bạn để nguyên ô
Current Branchkế bên rồi bấm Fetch origin để app kiểm tra xem trên GitHub có commit mới không. - Nếu có bản mới thì nút đổi chữ cho bạn bấm Pull origin kéo về máy; không có gì mới thì nút giữ nguyên
Fetch origin.
Nếu đang tập với repo mẫu Hello-World, bạn bấm Fetch origin xong sẽ không thấy chữ Pull origin vì repo này chưa có gì mới. Đó không phải lỗi đâu, nút Pull origin chỉ hiện ra khi repo trên GitHub có bản mới.
Thao tác pull chỉ làm mới bản sao trên máy bạn, không đụng gì tới repo trên GitHub. Với repo chỉ dùng để chạy công cụ, Tuấn dặn bạn đừng tự sửa file bên trong để lúc cập nhật luôn trơn tru.
Bởi nếu bạn đã tự sửa file trong repo, lúc kéo bản mới về máy có thể bị xung đột nội dung. Gặp xung đột như vậy, bạn sẽ phải tự gỡ bằng trình soạn code hay công cụ khác.
8. Lỗi đăng nhập và lỗi clone hay gặp
Lúc đăng nhập hay clone mà gặp báo lỗi tiếng Anh thì bạn đừng lo, tài liệu hãng đã chỉ sẵn cách gỡ.

Bạn so đúng chữ lỗi của app với khung dưới đây để xử lý:
Error: Bad credentials
(empty token)
fatal: repository '…' not foundLỗi Error: Bad credentials báo phần đăng nhập app đã lưu không còn dùng được, còn (empty token) trong nhật ký là app không thấy khoá đăng nhập ở Keychain. Gặp hai lỗi này thì bạn đăng xuất trong app rồi đăng nhập lại.
Còn lỗi fatal: repository '…' not found khi clone nghĩa là bạn chưa có quyền xem repo đó.
Trên Mac, bạn mở nhật ký ở menu Help › Show Logs in Finder để tìm các chữ lỗi trong khung trên như (empty token). Thấy dòng lỗi nào thì bạn xử lý như hướng dẫn ở trên.
Ngoài ra, hễ bạn thu hồi quyền trên web GitHub thì app không kết nối lên GitHub được nữa. Muốn dùng tiếp thì bạn phải đăng nhập lại.
9. Gỡ GitHub Desktop và thu hồi quyền
Chừng nào nghỉ dùng hẳn, bạn nhớ dọn ở cả hai nơi là ổ cứng máy tính và trang tài khoản GitHub chứ chỉ xoá mỗi app trên máy là chưa sạch đâu.

9.1 Gỡ app khỏi máy
- Trên Mac, bạn mở Finder.
- Bấm vào thư mục Applications.
- Chuột phải vào GitHub Desktop rồi chọn Move to Trash.
- Chọn Empty Trash.
Còn trên máy Windows, bạn mở Control Panel, vào Uninstall a program, bấm chuột phải lên GitHub Desktop rồi chọn Uninstall.
Gỡ theo bốn bước trên, kể cả dọn Thùng rác, thực chất mới chỉ xoá riêng file app. Hướng dẫn gỡ của hãng không nhắc tới file cấu hình Git chung, mục trong Keychain hay thư mục dữ liệu riêng, nên chúng có thể vẫn còn trên máy.
Bạn nào rành máy Mac muốn dọn nốt các mục còn sót ngoài app thì xoá thêm bốn chỗ sau:
- Mục đăng nhập trong Keychain: mục
GitHub - https://api.github.comdo app lưu lại. - Dữ liệu và tuỳ chỉnh:
~/Library/Application Support/GitHub Desktopvà~/Library/Preferences/com.github.GitHubClient.plisttrong thư mục thư viện cá nhân~/Library. - Nhật ký hoạt động: thư mục
~/Library/Logs/GitHub Desktop. - Cấu hình Git chung: file
~/.gitconfig, bạn chỉ xoá nếu không còn dùng Git ở việc nào khác trên máy, còn đang dùng thì giữ lại.
9.2 Thu hồi quyền đã cấp trên GitHub
Xoá app trên máy thì quyền đã cấp không tự mất, nên bạn vào web GitHub cắt theo bốn bước này.

- Trên trình duyệt đã đăng nhập GitHub, bấm ảnh đại diện góc trên phải rồi chọn Settings.
- Ở cột trái, tìm nhóm
Integrationsrồi bấm vào Applications. - Mở thẻ Authorized OAuth Apps để xem các phần mềm đang giữ quyền.
- Bấm nút ba chấm
⋯nằm cạnh dòng GitHub Desktop rồi chọn Revoke.
Muốn đối chiếu thêm trên tài liệu gốc, bạn xem hướng dẫn rà app đã cấp quyền của GitHub.
Khi bạn bấm Revoke, GitHub bật hộp cảnh báo nguyên văn như vầy:
Are you sure you want to revoke authorization? GitHub Desktop will no longer be able to access the GitHub API. You cannot undo this action.Lần cấp quyền cũ đã thu hồi là không hoàn tác được. App mất quyền kết nối lên GitHub ngay, cho đến lúc bạn đăng nhập lại theo mục 5.2.
Xác nhận xong là tên app biến mất khỏi danh sách, chỉ còn lại các ứng dụng khác của bạn.
Bạn cũng nên thỉnh thoảng ghé thẻ này rà lại các app giữ quyền vào repo riêng tư cho an tâm.
Giờ bạn đã tự lấy được repo công cụ AI về máy và cập nhật bản mới bằng GitHub Desktop mà khỏi gõ lệnh rồi đó. Bạn tính kéo repo nào về vọc đầu tiên, hay đang kẹt ở bước nào thì bình luận bên dưới cho Tuấn biết nhé?



Nhắn cho Tuấn ở đây nhé