Menu
CoddyTech

Git: Clone một nhánh cụ thể

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

Mặc định git clone checkout nhánh mặc định của repository (thường là main) nhưng tải về mọi nhánh. Để bắt đầu trên một nhánh khác, thêm -b <branch>. Để chỉ tải nhánh đó và bỏ qua phần còn lại, rất tiện cho repository lớn hoặc CI, hãy thêm --single-branch.

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ì.

git clone -b mở ngay nhánh bạn chỉ định; thêm --single-branch thì chỉ tải về lịch sử của nhánh đó.

Cú pháp

LệnhTác dụng
git clone -b dev <url>Clone và checkout nhánh dev
git clone -b dev --single-branch <url>Chỉ clone lịch sử của nhánh dev
git clone <url> rồi git switch devClone mọi thứ, sau đó chuyển nhánh

Nên dùng cách nào

Mục tiêuLệnh
Bắt đầu trên một nhánh, giữ mọi nhánhgit clone -b dev <url>
Chỉ cần đúng một nhánhgit clone -b dev --single-branch <url>
Đã clone rồi, muốn lấy nhánh khácgit fetch rồi git switch dev

Câu hỏi thường gặp về clone một nhánh cụ thể

Làm sao để clone một nhánh cụ thể trong Git?
Chạy git clone -b <branch> <url> (hoặc dạng đầy đủ --branch). Git clone repository và checkout nhánh bạn chỉ định thay cho nhánh mặc định. Mọi nhánh khác vẫn được tải về, trừ khi bạn thêm --single-branch.
Làm sao để chỉ clone đúng một nhánh?
Kết hợp các cờ: git clone -b <branch> --single-branch <url>. Lệnh này chỉ tải lịch sử của nhánh được chỉ định và bỏ qua mọi nhánh khác, cho ra một bản clone nhỏ và nhanh hơn, hữu ích với repository lớn hoặc pipeline CI chỉ cần một nhánh.
Sau khi clone một nhánh, có chuyển sang nhánh khác được không?
Không trực tiếp được, vì các nhánh khác chưa được fetch. Trước hết hãy bảo Git fetch chúng bằng git remote set-branches origin '*' rồi git fetch, sau đó bạn có thể git switch sang bất kỳ nhánh nào. Nếu biết trước mình sẽ cần nhiều nhánh, hãy clone bình thường.
Cách này khác gì so với clone rồi chuyển nhánh?
Chạy git clone <url> rồi git switch <branch> cho bạn mọi nhánh, sau đó chuyển sang nhánh bạn cần, hoàn toàn ổn khi dùng thông thường. git clone -b đưa bạn vào nhánh đó ngay lập tức, và khi thêm --single-branch thì còn không tải các nhánh còn lại.
Có thể luyện tập lệnh này online không?
Có. Mở playground terminal để chạy 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.
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