Những điều bạn chưa biết về Git Clone

Ở 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é!

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ất
  • git 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

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
February 05, 2021
Share this post to:
Tags:
git
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan
Hướng dẫn chi tiết cách push code lên Git

Hướng dẫn chi tiết cách push code lên Git

Có lẽ các bạn theo đuổi lĩnh vực IT đã quen thuộc với Git và GitHub rồi đúng không nhỉ? Tuy nhiên, Got It nhận thấy, một vài bạn đọc theo dõi blog vẫn còn mơ hồ, hoặc chưa biết cách để push code lên Git. Vậy thì hôm nay, chúng mình sẽ mang đến […]
Hướng dẫn cách tạo branch trong Git

Hướng dẫn cách tạo branch trong Git

Làm việc trực tiếp trong branch (nhánh) chính của một repository trên GitHub sẽ vô cùng nguy hiểm. Bởi lẽ, bạn sẽ có nguy cơ đưa những dòng code lỗi (bug) vào project đó mà không thông qua việc review code. Vì vậy, để tránh điều này xảy ra, bạn nên tạo một branch mới […]

Git fetch là gì? Phân biệt git fetch và git pull

Rất nhiều các bạn đang làm việc trong lĩnh vực IT thắc mắc về cách phân biệt giữa git fetch và git pull. Vậy git fetch là gì? Câu lệnh này hoạt động như thế nào? Và đâu là sự khác biệt giữa hai lệnh git fetch và git pull? Hãy cùng Got It tìm […]
Git và GitHub — liệu bạn đã thật sự biết cách sử dụng?

Git và GitHub — liệu bạn đã thật sự biết cách sử dụng?

Biến Git và GitHub trở thành công cụ đắc lực cùng Software Engineer nhà Got It!

Git Pull là gì? Mô hình hoạt động của lệnh Git Pull

Vì lệnh Git Fetch và Git Merge được sử dụng thường xuyên nên Git đã kết hợp hai lệnh này thành một lệnh đặc biệt gọi là Git Pull. Vậy Git Pull là gì? Nó được sử dụng như thế nào? Trong bài viết này, Got It sẽ mang đến cho các bạn một cái […]

Git Merge là gì? Những kiến thức cơ bản về Git Merge

Hợp nhất là một quá trình rất quan trọng khi làm việc với Git. Trong bài viết này, chúng ta sẽ thảo luận về lệnh hợp nhất Git Merge rất quen thuộc trong Git. Nếu bạn là người mới bắt đầu sử dụng Git và đang muốn hiểu quy trình hợp nhất trong Git, thì […]