Ở những bài đăng trước, Got It Vietnam đã có những bài đăng về hệ thống Git cùng những ưu điểm của nó. Git Clone là một câu lệnh phổ biến trong hệ thống Git mà mọi lập trình viên phải biết. Vậy sử dụng Git Clone như thế nào? Những ví dụ về cách sử dụng Git Clone trong thực tế là gì? Hãy cùng tìm hiểu ngay bằng cách đọc bài của Got It Vietnam nhé!
Mục lục
Git Clone là gì?
Khi mới làm quen với hệ thống Git, nhiều người hiểu đúng sức mạnh của hệ thống này nên cứ lên những trang như Stackoverflow.com và copy mã nguồn về để code. Họ cứ làm như vậy và đến lúc cần chuyển dự án lên các Server như Github hoặc chuyển sang các local khác thì lại không biết làm thế nào.
Lí do bởi họ chưa tìm hiểu kĩ về các lệnh cơ bản của Git, đặc biệt là Git Clone. Lệnh này cho phép các lập trình viên copy một Remote Repo về Local, ngoài ra có thể ứng dụng trong các trường hợp sau:
- Copy một Repo từ máy Remote về Local
- Copy một Repo từ thư mục này sang một thư mục khác
- Copy một Repo từ một Url (https) ví dụ GitHub
Git Clone dùng để làm gì?
Ưu điểm tuyệt vời của Git đó là khi bạn thực hiện Git Clone, bạn sẽ nhận được toàn bộ Repo, thay vì chỉ là 1 file như các hệ thống VCS khác. Đồng thời, bạn chỉ cần thực hiện Git Clone 1 lần duy nhất, đó là khi bắt đầu làm việc với dự án. Kể cả trong tương lai có phát triển thêm thì bạn cũng không cần clone lại một lần nữa.
Với ưu điểm này, các nhà phát triển có thể làm việc với các branch thoải mái hơn, ví dụ như họ có thể thực hiện lệnh Git Push để chia sẻ branch với Remote Repo, hoặc họ có thể hợp nhất branch với Master Branch trong các giai đoạn sau.
Các ví dụ về cách sử dụng Git Clone
Các câu lệnh và mục đích sử dụng phổ biến của Git Clone
git clone [url]
: Clone một Repo đã tồn tại trên GitHub, bao gồm tất cả các files, branches và commits.git clone --mirror
: Clone một Repo nhưng không thể chỉnh sửa. Đây sẽ là một nguồn tham khảo hữu ích cho các bạn trong việc phát triển dự án. Các bạn sẽ muốn dùng câu lệnh này khi mình muốn tạo ra một phiên bản thứ cấp của một Repo và muốn mọi branches match với nhau. Câu lệnh này có thể diễn ra trong quá trình sử dụng Git khi đang kiểm thử tự động.git clone --single-branch
: Chỉ clone một branch duy nhấtgit clone --sparse
: Đây là câu lệnh sẽ giúp clone các dữ liệu trong thư mục gốc. Điều này có thể giúp cải thiện hiệu suất khi phải clone những Repos lớn tới nhiều thư mục và thư mục con.git clone --recurse-submodules[=<pathspec]
: Đây sẽ là một sự lựa chọn tốt nếu bạn đang clone một Repo mà bạn biết sở hữu các module con, và bạn sẽ phải làm việc với các module con này với vai trò là các dependencies ở Local Repo của bạn.
Bạn có thể tham khảo thêm về các câu lệnh trên tại hướng dẫn sử dụng của GitHub tại đây.
Một vài ví dụ thực tế về Git Clone
git clone [url]
Một trong những cách sử dụng phổ biến nhất của Git Clone là clone một Repo. Bước này chỉ cần thực hiện 1 lần khi bạn bắt đầu làm việc trong 1 dự án và sẽ tuân theo cú pháp git clone [url]
.
git clone
a branch
git clone --single-branch
:
Thông thường, git clone
sẽ tạo ra những remote branch cho tất cả những branches mà đang xuất hiện trong nền tảng remote đang được clone. Branch local duy nhất được tạo sẽ là branch default (branch tiêu chuẩn)
Tuy nhiên, vì 1 vài lí do, bạn muốn chỉ lấy một remote branch cho một branch cụ thể, hoặc clone một branch mà không phải là branch default. Tất cả những thứ trên xuất hiện khi bạn sử dụng --single-branch
với git clone
.
Dòng lệnh này sẽ tạo ra một clone mà các commits của nó sẽ chỉ được ghi trong dòng lịch sử hiện tại. Điều này có nghĩa là các branches khác sẽ không bị clone. Bạn có thể lựa chọn một branch nhất định để clone, nhưng default branch, thường là master
branch, sẽ được lựa chọn tự động.
Để clone một branch nhất định, hãy sử dụng:
git clone [url] --branch [branch] --single-branch
Clone một branch sẽ không có thêm lợi ích nào ngoại trừ khi Repo rất lớn và chứa những thư mục nhị phân và chúng đang làm chậm hiệu suất của Repo. Giải pháp phổ biến đó là tối ưu hiệu suất của Repo trước khi dựa vào chiến thuật clone 1 branch
git clone
với SSH
Dựa vào việc bạn xác thực server remote của mình như thế nào, trong một vài trường hợp bạn có thể clone bằng cách sử dụng SSH.
Nếu bạn chọn clone với SSH, bạn nên dùng một SSH path cụ thể cho mỗi Repo thay vì chỉ dùng 1 URL. Thông thường thì các dev sẽ xác thực SSH từ cấp độ máy móc. Điều này có nghĩa là bạn thường sẽ chỉ clone với HTPPS hoặc với SSH, chứ không kết hợp cả hai để clone Repo của bạn.
Hy vọng bài viết này của Got It Vietnam đã cung cấp được những thông tin cơ bản cũng như ví dụ thực tiễn về Git Clone tới các bạn độc giả để giúp các bạn ứng dụng Git Clone tốt hơn vào công việc của mình