paint-brush
GIT: Giải thích theo 5 cấp độ khótừ tác giả@mcsee
5,297 lượt đọc
5,297 lượt đọc

GIT: Giải thích theo 5 cấp độ khó

từ tác giả Maximiliano Contieri4m2023/02/19
Read on Terminal Reader

dài quá đọc không nổi

GIT là một hệ thống kiểm soát phiên bản phân tán cho phép các nhà phát triển phần mềm quản lý và theo dõi các thay đổi được thực hiện đối với mã nguồn của họ. Nó cho phép nhiều nhà phát triển cộng tác đồng thời trên cùng một cơ sở mã, đồng thời duy trì một bản ghi toàn diện về tất cả các thay đổi được thực hiện bởi từng nhà phát triển riêng lẻ. Nó cũng là mã nguồn mở, có nghĩa là bất kỳ ai cũng có thể sử dụng miễn phí.
featured image - GIT: Giải thích theo 5 cấp độ khó
Maximiliano Contieri HackerNoon profile picture

Biết và hiểu công cụ tuyệt vời này.


TL;DR: GIT là gì và tại sao bạn nên học cách sử dụng nó?


Tôi sẽ giải thích GIT theo năm cấp độ cho các đối tượng khác nhau.


Nhiều nhà phát triển cơ sở đang hỏi tôi ngôn ngữ hoặc khuôn khổ ưa thích nào tốt hơn để bắt đầu sự nghiệp của họ.


Câu trả lời của tôi luôn luôn là như nhau:

Ngôn ngữ và khuôn khổ đến và đi. Học tiếng Anh và học GIT.

Đứa trẻ

GIT giống như một cuốn sổ thần kỳ nơi bạn có thể viết ra tất cả những thay đổi bạn thực hiện đối với các dự án máy tính của mình.


Bạn có biết khi bạn vẽ một bức tranh, và bạn không thể xóa nó hoặc làm cho nó giống như trước đây không?


Đôi khi, khi chúng tôi làm việc trong các dự án lớn, chúng tôi cũng muốn quay lại và xem các phiên bản cũ hơn của các bức ảnh của mình.


Bạn có thể giữ tất cả các phiên bản khác nhau của ảnh và quay lại và xem chúng nếu muốn.


Bạn có thể vẽ trên cùng một bức tranh với bạn bè của mình mà không gặp phải sự nhầm lẫn với những thay đổi.


Nó giống như một viên nang thời gian cho công việc của bạn.

Thiếu niên

GIT là một công cụ để theo dõi các thay đổi trong các tệp máy tính của bạn, đặc biệt là khi làm việc với những người khác trong một dự án.


Bạn bè có thể làm việc trên cùng một tệp cùng một lúc mà không vô tình ghi đè lên các thay đổi của nhau.


GIT cũng cho phép bạn lưu các phiên bản khác nhau của tác phẩm của mình, vì vậy bạn có thể quay lại phiên bản cũ hơn nếu cần.

Sinh viên

GIT là một hệ thống kiểm soát phiên bản phân tán.


Nó cho phép các nhà phát triển làm việc đồng thời trên cùng một cơ sở mã mà không can thiệp vào các thay đổi của nhau.


Nó sử dụng một thuật toán duy nhất để theo dõi các thay đổi trong tệp.


GIT duy trì lịch sử của tất cả các thay đổi được thực hiện đối với cơ sở mã.


Các nhà phát triển có thể cộng tác trong cùng một dự án, trong khi vẫn duy trì khả năng làm việc độc lập.


Nếu bạn cần quay lại phiên bản cũ hơn của tác phẩm của mình, công cụ này sẽ giúp bạn dễ dàng thực hiện điều đó với mã bạn đã viết.


Các nhà phát triển phần mềm sử dụng rộng rãi GIT và coi đó là một tiêu chuẩn công nghiệp.


Nó cũng là mã nguồn mở, có nghĩa là bất kỳ ai cũng có thể sử dụng miễn phí.

Sinh viên tốt nghiệp

GIT cho phép các nhà phát triển theo dõi các thay đổi được thực hiện đối với mã nguồn theo thời gian.


Công cụ này cho phép nhiều nhà phát triển cộng tác đồng thời trên cùng một cơ sở mã, đồng thời duy trì bản ghi toàn diện về tất cả các thay đổi được thực hiện bởi từng nhà phát triển riêng lẻ.


GIT cho phép cộng tác dễ dàng, khôi phục các thay đổi và quản lý các phiên bản mã khác nhau.


Một số tính năng chính của GIT bao gồm khả năng tạo các nhánh và hợp nhất chúng, xem lịch sử thay đổi được thực hiện đối với cơ sở mã và xử lý xung đột.


Xung đột phát sinh khi nhiều người đang làm việc trên cùng một mã.

Chuyên gia

GIT là một hệ thống kiểm soát phiên bản phân tán cho phép các nhà phát triển phần mềm quản lý và theo dõi các thay đổi được thực hiện đối với mã nguồn của họ.


Nó dựa trên một mô hình dữ liệu bao gồm một đồ thị xác nhận theo chu kỳ có hướng , trong đó mỗi lần xác nhận đại diện cho ảnh chụp nhanh của cơ sở mã tại một thời điểm cụ thể.


GIT cho phép tồn tại nhiều nhánh trong một cơ sở mã, với khả năng hợp nhất dễ dàng các thay đổi từ nhánh này sang nhánh khác.


Nó sử dụng thuật toán hợp nhất ba chiều, cho phép nó xử lý hiệu quả các xung đột có thể phát sinh khi hợp nhất các thay đổi từ nhiều nhánh.


GIT cho phép thay đổi dàn dựng trước khi cam kết.


Bạn có thể sử dụng hook để tự động hóa các tác vụ và xử lý các tệp nhị phân lớn bằng GIT LFS .


Với GIT, có thể tạo và chuyển đổi giữa nhiều kho lưu trữ cục bộ và từ xa.

GIT có một hệ sinh thái plugin mạnh mẽ và nhiều công cụ của bên thứ ba.


Một số công cụ là ứng dụng khách GIT GUI , nền tảng lưu trữ GIT và công cụ tự động hóa quy trình công việc GIT, cho phép các nhóm sử dụng GIT theo nhiều cách khác nhau để phù hợp với nhu cầu của họ.


Thuật toán hợp nhất ba chiều được sử dụng bởi GIT so sánh phiên bản tổ tiên chung của một tệp với phiên bản trong nhánh hiện tại và phiên bản trong nhánh đang được hợp nhất.


Điều này cho phép GIT phát hiện và xử lý các xung đột có thể phát sinh khi hợp nhất các thay đổi được thực hiện ở các nhánh khác nhau.


Quá trình hợp nhất ba chiều hoạt động như sau:


  1. Đầu tiên, GIT xác định phiên bản tổ tiên chung của tệp đang được hợp nhất. Đây là phiên bản của tệp đã tồn tại trước khi thực hiện bất kỳ thay đổi nào trong nhánh hiện tại và nhánh đích.


  2. GIT so sánh phiên bản tổ tiên của tệp với phiên bản trong nhánh hiện tại. Sau đó, nó ghi lại tất cả các thay đổi được thực hiện trong nhánh hiện tại trong một phiên bản "hiện tại" đặc biệt của tệp.


  3. GIT so sánh phiên bản tổ tiên của tệp với phiên bản trong nhánh đích và ghi lại tất cả các thay đổi được thực hiện trong nhánh đích trong một phiên bản "đích" đặc biệt của tệp.


  4. GIT lấy phiên bản tổ tiên chung của tệp và áp dụng các thay đổi được ghi trong phiên bản hiện tại và phiên bản đích cho phiên bản đó. Nếu có bất kỳ xung đột nào phát sinh (ví dụ: nếu cùng một dòng mã đã được thay đổi ở cả nhánh hiện tại và nhánh đích), GIT sẽ đánh dấu các xung đột này trong phiên bản cuối cùng của tệp và nhắc người dùng giải quyết chúng theo cách thủ công.


Bằng cách sử dụng thuật toán này, GIT có thể quản lý các xung đột hợp nhất một cách hiệu quả và đảm bảo rằng phiên bản cuối cùng của tệp thể hiện sự tích hợp chặt chẽ và nhất quán của các thay đổi được thực hiện trong cả hai nhánh.