Git là gì? Các thuật ngữ và câu lệnh Git quan trọng với lập trình viên

Git là gì? Git là một hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay. Tuy nhiên, đối với những lập trình mới, không phải ai cũng hiểu rõ ràng và thành thục về Git. Hãy cùng Thetips tìm hiểu Git là gì, các tính năng, lợi ích, thuật ngữ cơ […]

Đã cập nhật 20 tháng 9 năm 2022

Bởi The Tips

Git là gì? Các thuật ngữ và câu lệnh Git quan trọng với lập trình viên

Git là gì? Git là một hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay. Tuy nhiên, đối với những lập trình mới, không phải ai cũng hiểu rõ ràng và thành thục về Git. Hãy cùng Thetips tìm hiểu Git là gì, các tính năng, lợi ích, thuật ngữ cơ bản và quy trình làm việc của Git thông qua bài viết này nhé!

>> Xem thêm: OOP là gì? Lý giải đơn giản về lập trình hướng đối tượng

Git là gì?

Git được ra đời vào năm 2005 do Linus Torvalds tạo ra. Nó là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) mã nguồn mở và miễn phí được sử dụng để quản lý hiệu quả các dự án từ nhỏ đến rất lớn.

Nó cung cấp cho mỗi lập trình viên một kho lưu trữ riêng chứa toàn bộ lịch sử thay đổi code. Nó thường được sử dụng trong phát triển phần mềm để quản lý mã nguồn. Các kho lưu trữ Git được kết nối cục bộ, cho phép các lập trình viên làm việc trên máy của riêng họ, nhưng cũng được kết nối với một kho lưu trữ dùng chung.

Git là gì? Cách thức hoạt động của Git
Cách thức hoạt động của Git

Các tính năng và lợi ích của Git

1. Các tính năng của Git

  • Git là mã nguồn mở và miễn phí.
  • Git là một công cụ kiểm soát phiên bản phân tán được sử dụng để quản lý mã nguồn.
  • Git cho phép nhiều nhà phát triển (developer) cộng tác.
  • Hàng nghìn nhánh song song (parallel branches) của nó cho phép phát triển phi tuyến tính (non-linear development).
  • Có thể tạo bản sao lưu code.
Tính năng phi tập trung của git là gì
Git cho phép nhiều lập trình viên hoạt động song song trên cùng một dự án

2. Lợi ích của Git là gì?

  • Dễ dàng sử dụng, thao tác nhanh gọn và an toàn.
  • Các dự án thường sẽ có nhiều lập trình viên cùng làm việc song song. Do đó, một hệ thống quản lý phiên bản mã nguồn như Git là cần thiết để đảm bảo không có xung đột code.
  • Lịch sử ghi chép. Các yêu cầu trong dự án thường xuyên được thay đổi và cập nhật. Vì vậy, một hệ thống kiểm soát phiên bản sẽ cho phép các lập trình viên khôi phục (revert) và quay lại phiên bản cũ hơn của code.
  • Phân nhánh đơn giản hơn. Đôi khi một số dự án đang được chạy song song liên quan đến cùng một cơ sở code. Bạn có thể dễ dàng kết hợp các phân nhánh (branch), giúp quy trình code theo nhóm đơn giản hơn rất nhiều.
  • Mã nguồn mở và phát triển phi tập trung. Chỉ cần clone mã nguồn, một phiên bản thay đổi hoặc một nhánh nào đó từ kho lưu trữ là bạn có thể làm việc ở mọi lúc mọi nơi.

Quy trình xử lý công việc (workflow) trên Git

Workflow của nó được chia thành ba trạng thái (status):

– Thư mục làm việc (Working directory) – Thay đổi các tệp trong thư mục làm việc hiện tại của bạn.

– Khu vực tổ chức (Index) – Sắp xếp các tệp và thêm snapshot (ảnh chụp nhanh) các thay đổi vào index của bạn.

– Thư mục Git – Kho lưu trữ (Repository) – Commit lưu trữ vĩnh viễn các snapshot trong thư mục Git của bạn. Bạn có thể thực hiện các thay đổi đối với bất kỳ phiên bản hiện có nào, stage thư mục và commit.

Quy trình xử lý công việc của git là gì
Quy trình làm việc (workflow) trên Git

 Các thuật ngữ và câu lệnh Git quan trọng

1. Nhánh (Branch) 

Git branch là gì? Trong Git, một nhánh (branch) đại diện cho các phiên bản cụ thể của một kho lưu trữ (repository) tách ra từ project chính của bạn. Branch cho phép bạn theo dõi các thay đổi thử nghiệm mà bạn thực hiện đối với repository và có thể hoàn tác về các phiên bản cũ hơn.

Cách thức phân nhánh trong Git là gì
Cách thức phân nhánh

Ví dụ sơ đồ trên cho thấy một nhánh chính. Có hai nhánh riêng biệt được gọi là “Small feature” và “Large feature”. Bạn có thể hợp nhất (merge) nó với nhánh chính sau khi hoàn thành công việc của mình.

Bạn có thể dùng lệnh Git branch để liệt kê tất cả các nhánh trong hệ thống. 

Cách sử dụng: Git Branch hoặc Git Branch-a. 

2. Commit

Commit nghĩa là một hành động để Git lưu lại một ảnh chụp nhanh (snapshot) đối với các thay đổi trong thư mục làm việc. Mỗi lần commit nó sẽ lưu lại lịch sử chỉnh sửa của code kèm theo tên và địa chỉ email của người commit.

Cách sử dụng: git commit -m ”Đây là message, bạn dùng để ghi chú những thay đổi để sau này dễ tìm lại.”

Quy trình hoạt động giữa các lập trình viên của Git là gì
Quy trình hoạt động của Git giữa các lập trình viên

3. Repository

Repository là kho lưu trữ Git chứa tất cả các tệp dự án của bạn bao gồm các branch, tags và commit.

4. Index

Bất cứ khi nào bạn thêm, xóa hoặc thay đổi một file, nó vẫn nằm trong index (chỉ mục) cho đến khi bạn sẵn sàng commit các thay đổi. Nó tương tự như khu vực tổ chức (stagging area). 

Bạn có thể sử dụng lệnh git status để xem nội dung của index của bạn.

5. Hợp nhất (Merge)

Lệnh git merge kết hợp với các yêu cầu kéo (pull requests) để thêm các thay đổi từ nhánh này sang nhánh khác.

6. Rebase

Lệnh git rebase cho phép bạn phân tách, di chuyển hoặc thoát khỏi các commit. Nó cũng có thể được sử dụng để kết hợp hai nhánh khác nhau.

7. Push

 Lệnh git push được sử dụng để cập nhật các nhánh từ xa với những thay đổi mới nhất mà bạn đã commit.

8. Pull

Pull requests thể hiện các đề xuất thay đổi cho nhánh chính. Nếu bạn làm việc với một nhóm, bạn có thể tạo các pull request để yêu cầu người bảo trì kho lưu trữ xem xét các thay đổi và hợp nhất chúng.

Lệnh git pull được sử dụng để thêm các thay đổi vào nhánh chính.

9. Checkout

Sử dụng lệnh git checkout để chuyển đổi giữa các branch. Chỉ cần nhập git checkout theo sau là tên của branch bạn muốn chuyển đến hoặc nhập git checkout master để trở về branch chính (master branch).

10. Fetch

Lệnh git fetch tìm nạp các bản sao và tải xuống tất cả các tệp branch vào máy tính của bạn. Sử dụng nó để lưu các thay đổi mới nhất vào kho lưu trữ của bạn. Nó có thể tìm nạp nhiều branch cùng một lúc.

11. Fork

Một fork là một bản sao của một repository (kho lưu trữ). Các lập trình viên thường tận dụng lợi ích của fork để thử nghiệm các thay đổi mà không ảnh hưởng đến dự án chính.

12. Head

Các commit ở đầu của một branch được gọi là head. Nó đại diện cho commit mới nhất của repository mà bạn hiện đang làm việc.

13. Remote

Một remote repository (kho lưu trữ từ xa) là một bản sao của một nhánh. Remote giao tiếp ngược dòng với nhánh gốc (origin branch) của chúng và các remote khác trong repository.

14. Stash

Lệnh git stash sẽ bỏ các thay đổi khỏi index của bạn. Nó được dùng nếu bạn muốn tạm dừng những việc bạn đang làm và làm việc khác trong cùng một thời điểm.

Các câu lệnh cơ bản trong Git là gì?

  • Kiểm tra phiên bản của Git.
Lệnh kiểm tra phiên bản
  • Định cấu hình các biến configuration chung – Nếu bạn đang làm việc với các lập trình viên khác, bạn sẽ cần biết ai đang kiểm tra mã xuất nhập và thực hiện thay đổi.
Lệnh định cấu hình
Lệnh định cấu hình
  • Nếu bạn cần hỗ trợ, hãy sử dụng các lệnh sau:
Lệnh hỗ trợ

Thao tác này sẽ đưa bạn đến trang trợ giúp Git trong trình duyệt của mình, nơi bạn sẽ thấy:

Trang trợ giúp Git trang trình duyệt
  • Tạo test repository trong hệ thống local.
Lệnh tạo test repository trong hệ thống local
  • Di chuyển đến test repository.
Lệnh di chuyển đến test repository
  • Tạo một phiên bản mới cho một dự án.
Lệnh tạo một phiên bản git mới cho một dự án
  • Tạo một tệp văn bản có tên là info.txt trong thư mục test; viết một cái gì đó và lưu nó.
Tạo tệp trong thư mục test

>>> Có thể bạn quan tâm: Robots.txt – Sức mạnh SEO có thể bị lãng quên

  • Kiểm tra status của repository.
Lệnh kiểm tra status của repository
  • Thêm tệp bạn đã tạo để thực hiện commit.
Lệnh thêm tệp bạn đã tạo để thực hiện commit
  • Commit những thay đổi đó đối với lịch sử của repository bằng một message ngắn.
Lệnh commit những thay đổi đó đối với lịch sử của repository bằng một tin nhắn ngắn
  • Thực hiện bất kỳ thay đổi cần thiết nào đối với tệp và lưu.
Thực hiện thay đổi cần thiết với tệp và lưu
  • Bây giờ bạn đã thực hiện các thay đổi đối với tệp, bạn có thể so sánh sự khác biệt kể từ lần commit cuối cùng của bạn. 
Các câu lệnh về git commit
  • Thêm tên người dùng GitHub vào cấu hình Git.
Thêm tên người dùng GitHub vào cấu hình Git
  • Tạo một kho lưu trữ từ xa (remote repository).
Tạo một kho lưu trữ từ xa (remote repository)
  • Kết nối local repository với remote repository của bạn.
Kết nối local repository với remote repository của bạn
  • Push tệp vào remote repository.
Lệnh push tệp vào remote repository
  • Làm mới trang repository của bạn trên GitHub. Bạn sẽ nhận được tệp local trên kho lưu trữ GitHub remote của mình.
Làm mới trang repository trên GitHub
  • Tạo thêm ba tệp văn bản trong local repository – “info1.txt”, “info2.txt” và “info3.txt”.
Nhánh info1 và info2
nhánh info3
  • Tạo một nhánh có tên “first_branch” và hợp nhất (merge) nó với nhánh chính.
Lệnh tạo và hợp nhất

Lệnh trên tạo một nhánh.

Lệnh tạo một nhánh

Lệnh trên chuyển sang nhánh mới từ nhánh chủ (master).

Câu lệnh chuyển sang nhánh mới từ nhánh chủ

Lệnh trên tạo và thêm “info3.txt” vào first_branch.

Câu lệnh tạo info3.txt
  • Tạo một nhánh “first_branch” và hợp nhất nó với nhánh chính.
Câu lệnh hợp nhất

Lệnh trên tạo một cam kết cho first_branch.

Câu lệnh tạo first branch

Lệnh trên cho thấy rằng nhánh mới có quyền truy cập vào tất cả các tệp.

Các câu lệnh cho phép truy cập các tệp

Lệnh trên cho thấy nhánh chính không có tệp “info3.txt”.

Các câu lệnh cơ bản
Các câu lệnh cơ bản

Lệnh trên được sử dụng để hợp nhất “first_branch” với nhánh chính. Bây giờ, nhánh chính có tệp “info3.txt”.

Các câu lệnh

Một số lưu ý khi làm việc với Git

Những lưu ý khi làm việc với Git là gì? Đây là câu hỏi của rất nhiều người khi làm việc với phần mềm này. Tuy Git khá đơn giản và dễ sử dụng nhưng để nhớ tất cả các lệnh thì không hề đơn giản. Để công việc của mình đạt hiệu quả cao, bạn cần lưu ý một số điều sau:

  • Sử dụng Git Cheet Sheets: Đây là các website cung cấp git tự động. Các lệnh trong Git rất nhiều, vì thế mới sử dụng và chưa thể nhớ tất cả thì bạn có thể dùng công cụ này.
  • Commit thường xuyên: Bạn nên thường xuyên commit để các lập trình viên dễ dàng code hơn và tránh xung đột khi kết hợp.
  • Test rồi mới commit: Trước khi thực hiện commit và chia sẻ với các thành viên khác, bạn cần test để hoàn tất quá trình.
  • Viết ghi chú khi commit: Bạn nên viết ghi chú chi tiết để những thành viên khác biết được tiến độ, công việc bạn đang thực hiện.
  • Thử nghiệm Branch khác: Bạn có thể sử dụng một nhánh khác để test.
  • Hoạt động theo một Git Workflow: Sử dụng chung một git workflow sẽ giúp cả team hiểu nhau và thực hiện công việc hiệu quả hơn.

Git đã trở thành là một thuật ngữ quen thuộc trong lập trình và bất kì lập trình viên nào cũng sử dụng nó. Hy vọng bài viết trên đây đã cung cấp cho bạn những thông tin hữu ích về Git là gì, các tính năng, lợi ích và các câu lệnh cơ bản của Git. Hơn nữa, những lưu ý khi làm việc với Git sẽ giúp bạn làm việc với các thành viên và thực hiện dự án hiệu quả hơn.

Nguồn: https://www.simplilearn.com/tutorials/git-tutorial/what-is-git

Tags: