Git Clone
Cập nhật lần cuối
git clone <url> sao chép một repository từ remote, gồm mọi tệp, nhánh và lịch sử, về máy bạn và thiết lập origin trỏ về remote đó để bạn có thể push và pull. Đây là cách bắt đầu làm việc với một dự án có sẵn, khác với git init là tạo một repo mới hoàn toàn trống.
Thử các lệnh này trong playground terminal: một shell thật ngay trên trình duyệt, không cần cài đặt gì.
Cú pháp
| Lệnh | Tác dụng |
|---|---|
git clone <url> | Clone vào thư mục mang tên repo |
git clone <url> myapp | Clone vào thư mục tên myapp |
git clone -b dev <url> | Clone và checkout nhánh dev |
git clone --depth 1 <url> | Shallow clone (chỉ commit mới nhất) |
git clone --recurse-submodules <url> | Clone repo cùng các submodule của nó |
HTTPS và SSH
| Giao thức | Dạng URL |
|---|---|
| HTTPS | https://github.com/user/repo.git |
| SSH | git@github.com:user/repo.git |
Câu hỏi thường gặp về git clone
git clone dùng để làm gì?
origin. Sau khi clone, bạn có thể làm việc, commit và push ngay. Khác với git init tạo repo trống, clone mang về một dự án có sẵn cùng lịch sử của nó.Làm sao để clone vào một thư mục cụ thể?
git clone <url> myfolder clone vào myfolder thay cho tên mặc định của repo. Thư mục sẽ được tạo nếu chưa tồn tại.Làm sao để clone một nhánh cụ thể?
git clone -b <branch> <url> để clone và checkout nhánh đó. Thêm --single-branch để chỉ tải lịch sử của nhánh đó thay vì mọi nhánh, hữu ích với repo lớn. Xem thêm ở trang git clone branch.Shallow clone là gì?
git clone --depth 1 <url> chỉ tải commit mới nhất thay vì toàn bộ lịch sử, nên dung lượng tải về nhỏ và nhanh hơn nhiều. Cách này rất hợp cho CI hoặc khi bạn chỉ cần code mới nhất. Sau này bạn có thể tải thêm lịch sử bằng git fetch --unshallow.Có thể luyện tập lệnh này online không?
git clone trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khóa học Git tương tác miễn phí của Coddy cũng hướng dẫn cách lấy một repository từng bước.