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
Khái niệm về Git Clone. Nguồn: Unsplash

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.

Những câu lệnh phổ biến của Gin Clone mà kỹ sư nào cũng phải biết
Git Clone có những câu lệnh nào? Nguồn: Unsplash

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://vn.got-it.ai/blog/wp-content/uploads/2021/04/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
Git Pull là gì? Mô hình hoạt động của lệnh Git Pull

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ì? Git Pull đượ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 […]
Git Merge là gì? Những kiến thức cơ bản về Git Merge

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ì […]
Git Commit là gì? Git Commit được sử dụng như thế nào?

Git Commit là gì? Git Commit được sử dụng như thế nào?

Trong Git có một lệnh cho phép các lập trình viên ghi những thay đổi của dự án một cách dễ dàng gọi là Git Commit. Vậy chính xác Git Commit là gì? Git Commit được sử dụng như thế nào? Hãy cùng Got It tìm hiểu trong bài viết dưới đây nhé! Mục lụcGit […]
8 tính năng hữu ích của Git Stash

8 tính năng hữu ích của Git Stash

Trong quá trình làm việc với Git Tools, chắc hẳn các bạn đều đã nghe đến khái niệm Git Stash. Vậy nó là gì? Làm thế nào để công việc đơn giản hơn với công cụ này? Hãy cùng Got It Vietnam khám phá qua bài viết sau nhé! Mục lục1. Git Stash là gì?2. […]
Git Rebase là gì? Khi nào nên sử dụng Git Rebase?

Git Rebase là gì? Khi nào nên sử dụng Git Rebase?

Hai khái niệm làm nhiều kỹ sư IT đau đầu và khó phân biệt nhất chắc chắn là Git Rebase và Git Merge. Vậy Git Rebase là gì và khi nào nên sử dụng? Tất cả những câu hỏi này sẽ được giải đáp trong bài viết này của Got It Vietnam. Mục lục1. Git […]
Những điều bạn chưa biết về Git Clone

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 […]