Thuật ngữ Git

Git là một công cụ bao gồm các thuật ngữ và biệt ngữ rộng lớn, thường có thể gây khó khăn cho người dùng mới hoặc những người biết kiến ​​thức cơ bản về Git nhưng muốn trở thành bậc thầy về Git. Vì vậy, chúng ta cần giải thích một chút về thuật ngữ đằng sau các công cụ. Chúng ta hãy xem xét các thuật ngữ thường được sử dụng.

Lưu ý: Nếu bạn đọc các khái niệm bên dưới mà còn mơ hồ, thì bạn có thể tham khảo các bài viết tiếp theo trong series tự học git để nói chi tiết về từng thuật ngữ này với ví dụ cụ thể.

Một số thuật ngữ thường được sử dụng là:

Nhánh(Branch)

Nhánh là một phiên bản của một kho lưu trữ nào đó khác với nơi làm việc chính của dự án. Nó là một tính năng thiết yếu có sẵn trong hầu hết các hệ thống điều khiển phiên bản hiện đại. Một dự án Git có thể có nhiều nhánh. Chúng ta có thể thực hiện nhiều thao tác trên Git như đổi tên, liệt kê, xóa, v.v.

Checkout

Trong Git, thuật ngữ Checkout được sử dụng cho hành động chuyển đổi giữa các phiên bản khác nhau của một thực thể nào đó. Lệnh git checkout được sử dụng để chuyển đổi giữa các nhánh trong kho lưu trữ.

Cherry-Picking

Cherry-Picking trong Git có nghĩa là áp dụng một số commit từ một nhánh này sang nhánh khác. Trường hợp bạn thực hiện sai và thực hiện chuyển đổi nhánh sai mục đích nhưng không muốn gộp cả 2 nhánh. Bạn có thể hoàn nguyên commit đó và chọn Cherry-Picking trên một nhánh khác.

Nhân bản(Clone)

Bản git clone là một tiện ích dòng lệnh Git. Nó được sử dụng để tạo một bản sao của kho lưu trữ bạn cần hoặc sao chép nó. Nếu tôi muốn bản sao cục bộ của kho lưu trữ của mình từ GitHub, công cụ này cho phép tạo bản sao cục bộ của kho lưu trữ đó trên thư mục cục bộ của bạn từ URL kho lưu trữ.

Tìm và lấy hay tìm nạp (Fetch)

Nó được sử dụng để tìm lấy các nhánh và thẻ từ một hoặc nhiều kho lưu trữ khác, cùng với các đối tượng cần thiết để lấy đầy đủ lịch sử của chúng. Nó cập nhật các nhánh theo dõi từ xa.

HEAD

HEAD là đại diện của commit cuối cùng trong nhánh checkout hiện tại. Chúng ta có thể nghĩ về HEAD giống như một nhánh cây hiện tại. Khi bạn chuyển đổi các nhánh bằng git checkout, bản sửa đổi HEAD sẽ thay đổi và trỏ nhánh mới.

Index

Chỉ mục Git là một vùng dàn dựng giữa thư mục làm việc và kho lưu trữ. Nó được sử dụng làm chỉ mục để thiết lập một tập hợp các thay đổi mà bạn muốn thực hiện cùng nhau.

Main

Main là một quy ước đặt tên cho nhánh Git. Đó là một nhánh mặc định của Git. Sau khi sao chép một dự án từ một máy chủ từ xa, kho lưu trữ cục bộ sẽ có kết quả chỉ chứa một nhánh cục bộ duy nhất. Nhánh này được gọi là nhánh “main”. Nó có nghĩa là “main” là một nhánh “mặc định” của kho lưu trữ.

Hợp nhất(merge)

Hợp nhất là một quá trình để đưa một nhánh tách rời trở lại với nhau. Lệnh git merge tạo điều kiện cho bạn lấy dữ liệu được tạo bởi git branch và tích hợp chúng vào một nhánh duy nhất nào đó.

Gốc(Origin)

Trong Git, “origin” là một tham chiếu đến kho lưu trữ từ xa của một dự án ban đầu được nhân bản. Chính xác hơn, nó được sử dụng thay vì URL kho lưu trữ ban đầu đó để làm cho việc tham chiếu dễ dàng hơn nhiều.

Kéo/Yêu cầu Kéo(Pull/Pull Request) – viết tắt là PR

Thuật ngữ Pull được sử dụng để nhận dữ liệu từ GitHub. Nó tìm lấy(fetch) và kết hợp các thay đổi trên máy chủ từ xa vào thư mục làm việc của bạn. Lệnh git pull được sử dụng để thực hiện một lệnh pull của Git.

Yêu cầu kéo(pull request)(thường viết tắc là PR) là một quá trình để developer thông báo cho các thành viên trong nhóm rằng họ đã hoàn thành một tính năng. Khi nhánh tính năng của họ đã sẵn sàng, developer sẽ gửi PR thông qua tài khoản máy chủ từ xa của họ. PR thông báo cho tất cả các thành viên trong nhóm rằng họ cần xem lại code và hợp nhất nó vào nhánh chính.

Đẩy(Push)

Thuật ngữ đẩy đề cập đến việc tải nội dung kho lưu trữ cục bộ lên một kho lưu trữ từ xa. Đẩy là một hành động chuyển các commit từ kho lưu trữ cục bộ của bạn đến một kho lưu trữ từ xa. Đẩy có khả năng ghi đè các thay đổi; cần thận trọng khi push.

Rebase

Trong Git, thuật ngữ rebase được gọi là quá trình di chuyển hoặc kết hợp một chuỗi các commit thành một commit cơ sở mới. Rebasing rất có lợi và được trực quan hóa quy trình trong môi trường của quy trình làm việc phân nhánh tính năng.

Từ nhận thức về nội dung, Rebase là một kỹ thuật thay đổi cơ sở nhánh của bạn từ commit này sang commit khác.

Remote

Trong Git, thuật ngữ điều khiển từ xa(Remote) có liên quan đến kho lưu trữ từ xa. Nó là một kho lưu trữ được chia sẻ mà tất cả các thành viên trong nhóm sử dụng để trao đổi các thay đổi của họ. Kho lưu trữ từ xa được lưu trữ trên dịch vụ lưu trữ mã như máy chủ nội bộ, GitHub, Subversion và hơn thế nữa.

Trong trường hợp có kho lưu trữ cục bộ, điều khiển từ xa thường không cung cấp cây file về trạng thái hiện tại của dự án, vì một sự thay thế nó chỉ bao gồm dữ liệu lập phiên bản .git.

Kho(Repository)

Trong Git, Kho lưu trữ giống như một cấu trúc dữ liệu được VCS sử dụng để lưu trữ siêu dữ liệu cho một tập hợp các file và thư mục. Nó chứa bộ sưu tập của file cũng như lịch sử của những thay đổi được thực hiện đối với các file đó. Các kho trong Git được coi là thư mục dự án của bạn. Một kho lưu trữ có tất cả dữ liệu liên quan đến dự án. Các dự án riêng biệt có kho lưu trữ riêng biệt.

Stashing

Đôi khi bạn muốn chuyển đổi các nhánh, nhưng bạn đang thực hiện một phần chưa hoàn thành trong dự án hiện tại(nhánh hiện tại) của mình. Bạn không muốn thực hiện commit hoàn thành một nửa công việc. Git stashing cho phép bạn làm như vậy. Lệnh git stash cho phép bạn chuyển đổi nhánh mà không cần commit nhánh hiện tại.

Thẻ(Tag)

Các thẻ đóng vai trò là một điểm cụ thể trong lịch sử Git. Nó được sử dụng để đánh dấu một giai đoạn commit là quan trọng. Chúng ta có thể gắn thẻ commit để tham khảo trong tương lai. Chủ yếu, nó được sử dụng để đánh dấu điểm ban đầu của dự án như v1.1. Có hai loại thẻ.

  1. Thẻ nhỏ
  2. Thẻ chú thích

Thượng nguồn và Hạ nguồn(Upstream And Downstream)

Thuật ngữ thượng nguồn và hạ lưu là một tham chiếu của kho lưu trữ. Nói chung, thượng nguồn là nơi bạn sao chép kho lưu trữ từ (nguồn gốc) và hạ lưu là bất kỳ dự án nào tích hợp công việc của bạn với các công việc khác. Tuy nhiên, các điều khoản này không bị giới hạn đối với kho Git.

Hoàn lại Git(Git Revert)

Trong Git, thuật ngữ hoàn lại được sử dụng để hoàn nguyên một số commit. Để hoàn lại một commit, lệnh git revert được sử dụng. Nó là một loại lệnh hoàn tác. Tuy nhiên, nó không phải là một thay thế hoàn lại truyền thống.

Đặt lại Git(Git Reset)

Trong Git, thuật ngữ reset là viết tắt của đặt lại các thay đổi. Lệnh git reset được sử dụng để đặt lại các thay đổi so với ban đầu. Lệnh git reset có ba hình thức gọi chính. Các hình thức này như sau.

  • Mềm
  • Trộn
  • Cứng

Bỏ qua Git(Git Ignore)

Trong Git, thuật ngữ bỏ qua được sử dụng để chỉ định các file không được theo dõi mà Git nên bỏ qua. Nó không ảnh hưởng đến các file đã được Git theo dõi.

Git Diff

Git diff là một tiện ích dòng lệnh. Đó là một lệnh Git đa dụng. Khi nó được thực thi, nó sẽ chạy một chức năng khác trên các nguồn dữ liệu Git. Các nguồn dữ liệu này có thể là file, nhánh, commit và hơn thế nữa. Nó được sử dụng để hiển thị các thay đổi giữa các commit, commit và cây làm việc, v.v.

Git Cheat Sheet

Git Cheat Sheet là một bản tóm tắt các tài liệu tham khảo nhanh về Git. Nó chứa các lệnh Git cơ bản với cài đặt nhanh chóng. Tờ giấy ăn gian hoặc tờ giấy ghi tóm tắc là một tập hợp các ghi chú ngắn gọn được sử dụng để tham khảo nhanh. Cheat sheet được đặt tên như vậy vì mọi người có thể sử dụng nó mà không cần biết trước.

Git Flow

GitFlow là một mô hình phân nhánh cho Git, được phát triển bởi Vincent Driessen . Nó được tổ chức rất tốt để cộng tác và mở rộng quy mô nhóm phát triển. GitFlow là một tập hợp các lệnh Git. Nó thực hiện nhiều hoạt động lưu trữ chỉ với các lệnh đơn.

Git Squash

Trong Git, thuật ngữ Squash được sử dụng để dồn các commit trước đó thành một. Squash là một kỹ thuật tuyệt vời để nhóm các thay đổi cụ thể trước khi chuyển tiếp chúng cho những người khác. Bạn có thể hợp nhất nhiều commit thành một cam kết duy nhất bằng lệnh rebase tương tác mạnh mẽ.

Git Rm

Trong Git, thuật ngữ rm là viết tắt của loại bỏ . Nó được sử dụng để loại bỏ các file riêng lẻ hoặc một bộ sưu tập các file. Chức năng chính của git rm là xóa các file được theo dõi khỏi chỉ mục Git. Ngoài ra, nó có thể được sử dụng để xóa các file khỏi cả thư mục làm việc và chỉ mục dàn dựng.

Git Fork

Một fork là một bản sao thô của một kho lưu trữ. Tạo kho lưu trữ cho phép bạn tự do kiểm tra và gỡ lỗi với các thay đổi mà không ảnh hưởng đến dự án ban đầu.

Công dụng tuyệt vời của việc sử dụng fork để đề xuất các thay đổi để sửa lỗi. Để giải quyết sự cố cho một lỗi mà bạn đã tìm thấy, bạn có thể:

  • Fork kho lưu trữ.
  • Thực hiện sửa chữa.
  • Chuyển tiếp một yêu cầu kéo(PR) tới chủ dự án.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!