Toàn tập các lệnh git từ cơ bản đến chuyên sâu
Lệnh Git | Chức năng | Ví dụ | Mức độ |
---|---|---|---|
git init |
Khởi tạo một repository Git mới trong thư mục hiện tại. | git init |
Basic |
git clone <repo-url> |
Sao chép một repository từ URL về máy. | git clone https://github.com/user/repo.git |
Basic |
git status |
Kiểm tra trạng thái của repository (file thay đổi, untracked files, staged files, v.v.). | git status |
Basic |
git add <file> |
Thêm một file cụ thể vào staging area để chuẩn bị commit. | git add index.html |
Basic |
git add . |
Thêm tất cả các thay đổi trong thư mục hiện tại vào staging area. | git add . |
Basic |
git commit -m "<message>" |
Tạo một commit mới với thông điệp cụ thể. | git commit -m "Initial commit" |
Basic |
git commit -am "<message>" |
Commit tất cả các file đã theo dõi với một thông điệp cụ thể (bỏ qua bước git add ). |
git commit -am "Updated styles" |
Basic |
git push |
Đẩy các commit từ local repository lên remote repository. | git push origin master |
Basic |
git pull |
Tải và hợp nhất các thay đổi từ remote repository về máy local. | git pull origin master |
Basic |
git remote add origin <url> |
Thêm một remote repository với tên "origin". | git remote add origin https://github.com/user/repo.git |
Basic |
git branch |
Hiển thị danh sách các nhánh trong repository. | git branch |
Basic |
git branch <branch-name> |
Tạo một nhánh mới với tên cụ thể. | git branch feature-login |
Basic |
git checkout <branch-name> |
Chuyển đổi sang một nhánh khác. | git checkout develop |
Basic |
git merge <branch-name> |
Hợp nhất nhánh được chỉ định vào nhánh hiện tại. | git merge feature-login |
Nâng cao |
git log |
Hiển thị lịch sử commit. | git log --oneline |
Basic |
git diff |
Hiển thị sự khác biệt giữa các file chưa được staged hoặc các commit. | git diff |
Nâng cao |
git stash |
Lưu trữ tạm thời các thay đổi chưa được commit. | git stash |
Nâng cao |
git stash pop |
Khôi phục lại các thay đổi đã lưu trữ tạm thời. | git stash pop |
Nâng cao |
git reset <file> |
Bỏ staging một file mà không xóa các thay đổi của nó. | git reset index.html |
Nâng cao |
git reset --hard |
Đặt lại tất cả các thay đổi và khôi phục trạng thái từ commit gần nhất. | git reset --hard HEAD |
Nâng cao |
git fetch |
Tải các thay đổi từ remote repository nhưng không merge chúng. | git fetch origin |
Nâng cao |
git rebase <branch-name> |
Chuyển nhánh hiện tại dựa trên commit từ nhánh khác (rebase). | git rebase develop |
Chuyên sâu |
git cherry-pick <commit> |
Áp dụng một commit cụ thể từ một nhánh khác vào nhánh hiện tại. | git cherry-pick a1b2c3d |
Nâng cao |
git revert <commit> |
Tạo một commit mới để đảo ngược một commit cụ thể mà không thay đổi lịch sử commit. | git revert a1b2c3d |
Nâng cao |
git rm <file> |
Xóa file khỏi staging area và từ thư mục làm việc. | git rm filename.txt |
Basic |
git checkout -- <file> |
Khôi phục lại file từ commit gần nhất (xóa bỏ thay đổi chưa được staged). | git checkout -- index.html |
Nâng cao |
git tag <tag-name> |
Gắn thẻ (tag) cho một commit. | git tag v1.0.0 |
Basic |
git log --graph |
Hiển thị lịch sử commit dưới dạng đồ thị để dễ hình dung các nhánh và merge. | git log --graph --oneline |
Nâng cao |
git blame <file> |
Xem lịch sử thay đổi của từng dòng trong file để xác định ai đã thay đổi. | git blame index.html |
Nâng cao |
git clean -f |
Xóa các file không được theo dõi trong thư mục làm việc. | git clean -f |
Nâng cao |
git submodule add <url> |
Thêm một submodule vào repository hiện tại. | git submodule add https://github.com/user/repo.git |
Chuyên sâu |
git bisect |
Tìm commit gây lỗi bằng cách sử dụng tìm kiếm nhị phân giữa các commit. | git bisect start |
Chuyên sâu |
git reflog |
Hiển thị lịch sử của các thay đổi trong HEAD (bao gồm cả các commit đã bị reset). | git reflog |
Chuyên sâu |
git show <commit> |
Hiển thị các thay đổi và metadata của một commit cụ thể. | git show a1b2c3d |
Nâng cao |
git archive |
Tạo một file nén từ một nhánh hoặc commit cụ thể trong repository. | git archive --format=zip HEAD > latest.zip |
Nâng cao |
Bảng này bao gồm các lệnh phổ biến và nâng cao trong Git, với mức độ sử dụng từ cơ bản đến chuyên sâu.