Menu
CoddyTech

Cheat sheet Git

Cập nhật lần cuối

Cài đặt và cấu hình

Cài đặt một lần để commit ghi đúng tên tác giả.

LệnhTác dụng
git config --global user.name "Ada"Đặt tên hiển thị trong commit
git config --global user.email you@x.comĐặt email hiển thị trong commit
git config --listXem toàn bộ cấu hình hiện tại
git config --global init.defaultBranch mainĐặt tên nhánh đầu tiên của repo mới là main
git config --global core.editor "code --wait"Đặt trình soạn thảo mặc định
git --versionIn ra phiên bản Git đã cài

Tạo và clone repository

Tạo repository mới hoặc sao chép một repository có sẵn.

LệnhTác dụng
git initTạo repo mới trong thư mục hiện tại
git clone <url>Sao chép repo từ xa về máy
git clone <url> mydirClone vào thư mục có tên chỉ định
git clone --depth 1 <url>Clone nông (chỉ lấy commit mới nhất)
git clone -b dev <url>Clone và chuyển sang nhánh dev

Stage và commit

Ghi thay đổi vào lịch sử dự án.

LệnhTác dụng
git add file.txtStage một tệp
git add .Stage mọi thay đổi trong thư mục hiện tại
git add -pChọn từng đoạn thay đổi để stage
git commit -m "message"Commit các thay đổi đã stage
git commit -am "message"Stage các tệp đang theo dõi rồi commit
git commit --amendSửa commit gần nhất
git rm file.txtXóa tệp và stage thao tác xóa

Làm việc với nhánh

Phát triển thay đổi tách biệt khỏi nhánh chính.

LệnhTác dụng
git branchLiệt kê các nhánh cục bộ
git branch featureTạo nhánh mới
git switch featureChuyển sang nhánh có sẵn
git switch -c featureTạo nhánh và chuyển sang ngay
git checkout featureCách chuyển nhánh kiểu cũ
git branch -d featureXóa nhánh đã merge
git branch -m newnameĐổi tên nhánh hiện tại

Merge và rebase

Gộp công việc từ hai nhánh.

LệnhTác dụng
git merge featureMerge feature vào nhánh hiện tại
git merge --no-ff featureLuôn tạo merge commit
git rebase mainÁp lại các commit của bạn lên trên main
git rebase -i HEAD~3Chỉnh sửa tương tác 3 commit gần nhất
git rebase --continueTiếp tục sau khi giải quyết xung đột
git rebase --abortHủy rebase đang chạy
git cherry-pick <hash>Áp một commit vào nhánh này

Remote (push, pull, fetch)

Đồng bộ repo trên máy với một remote như GitHub.

LệnhTác dụng
git remote -vLiệt kê các remote đã cấu hình
git remote add origin <url>Liên kết remote tên origin
git fetchTải thay đổi từ remote mà không merge
git pullFetch rồi merge nhánh từ remote
git pushĐẩy commit lên remote
git push -u origin mainPush và đặt nhánh upstream
git push origin --delete featureXóa nhánh trên remote

Kiểm tra trạng thái (status, log, diff)

Xem những gì đã thay đổi và đang diễn ra.

LệnhTác dụng
git statusHiện các tệp đã stage, chưa stage và chưa được theo dõi
git logXem lịch sử commit
git log --oneline --graphLịch sử rút gọn kèm sơ đồ nhánh
git diffSo sánh thay đổi chưa stage với index
git diff --stagedSo sánh thay đổi đã stage với commit gần nhất
git show <hash>Xem thay đổi của một commit
git blame file.txtXem ai sửa từng dòng gần nhất

Hoàn tác thay đổi

Sửa sai một cách an toàn.

LệnhTác dụng
git restore file.txtBỏ các thay đổi chưa stage của một tệp
git restore --staged file.txtBỏ stage một tệp (giữ thay đổi)
git reset --soft HEAD~1Hoàn tác commit gần nhất, giữ thay đổi ở trạng thái đã stage
git reset --hard HEAD~1Hoàn tác commit gần nhất và bỏ luôn thay đổi
git revert <hash>Tạo commit mới để đảo ngược một commit khác
git stashCất tạm thay đổi để dùng sau
git stash popÁp lại stash gần nhất

Mọi lệnh Git bạn hay dùng, gói gọn trong một trang. Cheat sheet Git này là bảng tra cứu nhanh cho việc quản lý phiên bản hằng ngày: cấu hình Git, stage và commit, tạo nhánh, merge và rebase, đồng bộ với remote, và sửa sai.

Đây là các lệnh Git chuẩn, chạy giống nhau trên Linux, macOS và Windows. Sao chép lệnh bạn cần, hoặc thử ngay trong playground terminal: một shell thật trên trình duyệt, không cần cài đặt gì.

Câu hỏi thường gặp về cheat sheet Git

Cheat sheet Git này có miễn phí không?

Có. Cheat sheet Git này hoàn toàn miễn phí và không cần đăng ký. Lưu trang lại và quay lại bất cứ khi nào bạn cần tra một lệnh để tạo nhánh, commit hay hoàn tác thay đổi.

Merge và rebase khác nhau thế nào?
git merge gộp hai nhánh bằng cách tạo một merge commit mới nối lịch sử của chúng lại, giữ nguyên lịch sử của cả hai. Còn git rebase áp lại từng commit của bạn lên trên một nhánh khác, tạo ra lịch sử thẳng hàng, không có merge commit. Merge an toàn và không làm mất dữ liệu; rebase cho lịch sử gọn hơn nhưng viết lại commit, nên tránh rebase những nhánh người khác đã pull về.
Làm sao để hoàn tác một commit trong Git?
Tùy vào việc bạn đã push commit đó hay chưa. Với commit chỉ có trên máy, git reset --soft HEAD~1 hoàn tác commit gần nhất nhưng giữ thay đổi ở trạng thái đã stage, còn git reset --hard HEAD~1 bỏ hẳn các thay đổi đó. Với commit đã chia sẻ cho người khác, hãy dùng git revert <hash> để tạo một commit mới đảo ngược nó mà không viết lại lịch sử.
Có thể luyện tập lệnh Git online không?

Có. Mở playground terminal để chạy lệnh Git trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khi muốn học có lộ trình, khóa học Git tương tác miễn phí của Coddy dẫn bạn từng bước từ commit đầu tiên đến tạo nhánh, merge và làm việc với remote.

Cheat sheet này có phù hợp cho người mới bắt đầu không?

Có. Nội dung được sắp xếp từ cài đặt và commit (những thao tác cơ bản hằng ngày) đến rebase và hoàn tác thay đổi, nên ngay ngày đầu bạn đã dùng được các phần trên cùng, rồi dần tiến tới những quy trình nâng cao.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Git cùng Coddy

Bắt đầu