Giới thiệu về Git: nó là gì và cách sử dụng nó

Git là một Hệ thống Kiểm soát Phiên bản Phân tán Nguồn Mở . Bây giờ có rất nhiều từ để định nghĩa Git.

Hãy để tôi chia nhỏ và giải thích từ ngữ:

  • Hệ thống điều khiển: Về cơ bản, điều này có nghĩa là Git là một trình theo dõi nội dung. Vì vậy, Git có thể được sử dụng để lưu trữ nội dung - nó chủ yếu được sử dụng để lưu trữ mã do các tính năng khác mà nó cung cấp.
  • Hệ thống kiểm soát phiên bản : Mã được lưu trữ trong Git tiếp tục thay đổi khi nhiều mã được thêm vào. Ngoài ra, nhiều nhà phát triển có thể thêm mã song song. Vì vậy Hệ thống kiểm soát phiên bản giúp xử lý điều này bằng cách duy trì lịch sử những thay đổi đã xảy ra. Ngoài ra, Git cung cấp các tính năng như chi nhánh và hợp nhất, mà tôi sẽ đề cập sau.
  • Hệ thống kiểm soát phiên bản phân tán : Git có kho lưu trữ từ xa được lưu trữ trong máy chủ và kho lưu trữ cục bộ được lưu trữ trong máy tính của mỗi nhà phát triển. Điều này có nghĩa là mã không chỉ được lưu trữ trong một máy chủ trung tâm, mà bản sao đầy đủ của mã có trong tất cả các máy tính của nhà phát triển. Git là Hệ thống kiểm soát phiên bản phân tán vì mã có trong mọi máy tính của nhà phát triển. Tôi sẽ giải thích khái niệm kho lưu trữ từ xa và cục bộ sau trong bài viết này.

Tại sao cần có Hệ thống kiểm soát phiên bản như Git

Các dự án trong đời thực thường có nhiều nhà phát triển làm việc song song. Vì vậy, một hệ thống kiểm soát phiên bản như Git là cần thiết để đảm bảo không có xung đột mã giữa các nhà phát triển.

Ngoài ra, các yêu cầu trong các dự án như vậy thay đổi thường xuyên. Vì vậy, một hệ thống kiểm soát phiên bản cho phép các nhà phát triển hoàn nguyên và quay lại phiên bản cũ hơn của mã.

Cuối cùng, đôi khi một số dự án đang được chạy song song liên quan đến cùng một cơ sở mã. Trong trường hợp như vậy, khái niệm phân nhánh trong Git là rất quan trọng.

Hãy bắt đầu sử dụng Git ngay bây giờ

Thay vì đề cập đến tất cả các khái niệm cùng một lúc, tôi sẽ giải thích các khái niệm về Git thông qua một ví dụ để bạn dễ làm theo hơn.

Tải xuống git

Liên kết này có chi tiết về cách cài đặt Git trong nhiều hệ điều hành:

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

Xác minh xem Git đã được cài đặt hay chưa bằng cách sử dụng lệnh sau trong dấu nhắc lệnh:

git --version

Tạo kho lưu trữ Git cục bộ của bạn

Trong máy tính của bạn, hãy tạo một thư mục cho dự án của bạn. Hãy gọi thư mục dự án simple-git-demo.

Đi vào thư mục dự án của bạn và thêm kho lưu trữ Git cục bộ vào dự án bằng các lệnh sau:

cd simple-git-demo git init

Các git initlệnh bổ sung thêm một kho Git địa phương cho dự án.

Hãy thêm một số mã nhỏ ngay bây giờ

Tạo một tệp được gọi demo.txttrong thư mục dự án và thêm văn bản sau vào đó:

Initial Content

Ở đây chúng tôi sẽ demo chỉ với văn bản thuần túy thay vì mã thực, vì trọng tâm chính của bài viết này là Git chứ không phải bất kỳ ngôn ngữ lập trình cụ thể nào.

Tổ chức và cam kết mã

Cam kết là quá trình trong đó mã được thêm vào kho lưu trữ cục bộ . Trước khi cam kết mã, nó phải ở trong khu vực dàn dựng . Khu vực dàn dựng ở đó để theo dõi tất cả các tệp sẽ được cam kết.

Bất kỳ tệp nào không được thêm vào vùng tổ chức sẽ không được cam kết. Điều này cho phép nhà phát triển kiểm soát những tệp nào cần được cam kết.

Dàn dựng

Sử dụng lệnh sau để dàn tệp:

git add demo.txt

Trong trường hợp bạn muốn thêm nhiều tệp, bạn có thể sử dụng:

git add file1 file2 file3

Nếu bạn muốn thêm tất cả các tệp bên trong thư mục dự án của mình vào vùng dàn dựng, hãy sử dụng lệnh sau:

git add .

Sử dụng điều này một cách cẩn thận vì nó thêm tất cả các tệp và thư mục trong dự án của bạn vào khu vực dàn dựng.

Cam kết

Sử dụng lệnh sau để xác nhận tệp:

git commit -m "Initial Commit"

“Cam kết ban đầu” là thông báo cam kết ở đây. Nhập một thông báo cam kết có liên quan để cho biết những thay đổi mã nào đã được thực hiện trong cam kết cụ thể đó.

Trạng thái Git và Nhật ký Git

Bây giờ sửa đổi demo.txtvà thêm đoạn mã sau:

Initial Content Adding more Content

Trạng thái

Sử dụng git statusđể tìm hiểu thông tin liên quan đến những tệp nào được sửa đổi và những tệp nào có trong khu vực dàn dựng - nó cũng hiển thị thông tin khác mà chúng ta có thể bỏ qua lúc này.

Sử dụng lệnh sau để xem trạng thái:

git status

Trạng thái cho thấy đã demo.txtđược sửa đổi và chưa ở trong khu vực tổ chức.

Bây giờ chúng ta hãy thêm demo.txtvào vùng dàn dựng và cam kết nó bằng các lệnh sau:

git add demo.txt git commit -m "demo.txt file is modified"

Nhật ký

Sử dụng git logđể in ra tất cả các cam kết đã được thực hiện cho đến nay.

Lệnh được sử dụng cho việc này là:

git log

Nhật ký hiển thị tác giả của mỗi cam kết, ngày của cam kết và thông báo cam kết.

Chi nhánh

Cho đến nay chúng tôi vẫn chưa tạo bất kỳ chi nhánh nào trong Git. Theo mặc định, Git cam kết đi vào chủ chi nhánh.

Chi nhánh là gì?

Một nhánh không là gì khác ngoài một con trỏ đến cam kết mới nhất trong kho lưu trữ Git. Vì vậy, hiện tại nhánh chính của chúng tôi là một con trỏ đến cam kết thứ hai “demo.txt file is modified”.

Tại sao cần nhiều chi nhánh?

Cần có nhiều nhánh để hỗ trợ nhiều sự phát triển song song. Tham khảo hình ảnh bên dưới để biết cách hoạt động của các nhánh.

Ban đầu, commit 1 và commit 2 được thực hiện trong master branch. Sau khi commit 2, một nhánh mới được gọi là “Test” được tạo, và commit 3 và commit 4 được thêm vào nhánh kiểm tra.

Đồng thời, một cam kết 3 và cam kết 4 khác được thêm vào nhánh chính. Ở đây chúng ta có thể thấy rằng sau Cam kết 2, hai sự phát triển song song đang được thực hiện ở 2 nhánh riêng biệt.

Chi nhánh Thử nghiệm và Chi nhánh Chính đã phân tách ở đây và có mã khác nhau - mã từ Chi nhánh Thử nghiệm có thể được hợp nhất với Chi nhánh Chính bằng cách sử dụng git merge. Điều này sẽ được đề cập sau.

Tạo chi nhánh mới tại địa phương

Tạo một nhánh mới được gọi là thử nghiệm bằng lệnh sau:

git branch test

Lệnh này tạo testnhánh.

Chúng tôi vẫn đang ở trong bối cảnh của nhánh chủ. Để chuyển sang test chi nhánh. sử dụng lệnh sau:

git checkout test

Bây giờ chúng tôi đang ở trong testchi nhánh.

Bạn có thể liệt kê tất cả các nhánh trong cục bộ bằng lệnh sau:

git branch

Thực hiện một số cam kết trong chi nhánh mới

Sửa đổi demo.txtbằng cách thêm đoạn mã sau:

Initial Content Adding more Content Adding some Content from test Branch

Bây giờ giai đoạn và cam kết bằng cách sử dụng các lệnh sau:

git add demo.txt git commit -m "Test Branch Commit"

Cam kết này đã được thực hiện trong Chi nhánh thử nghiệm, và bây giờ Chi nhánh thử nghiệm đi trước Chi nhánh chính 1 cam kết - vì chi nhánh thử nghiệm cũng bao gồm 2 cam kết từ chi nhánh chính.

Bạn có thể xác minh lịch sử cam kết trong Test Branch bằng cách sử dụng:

git log

Hợp nhất

Hiện tại, Test Branch đang dẫn trước Master 1 commit. Giả sử bây giờ chúng ta muốn tất cả mã trong Chi nhánh thử nghiệm được đưa trở lại Chi nhánh chính. Đây là nơi git mergerất hữu ích.

Để hợp nhất mã từ nhánh kiểm tra vào nhánh chính, hãy làm theo các bước sau:

Đầu tiên quay lại nhánh chính:

git checkout master

Sau đó chạy mergelệnh:

git merge test

Sau khi chạy 2 lệnh này, việc hợp nhất sẽ thành công. Trong ví dụ này, không có xung đột.

Nhưng trong các dự án thực tế, sẽ có xung đột khi hợp nhất đang được thực hiện. Giải quyết xung đột là một cái gì đó đi kèm với kinh nghiệm, vì vậy khi bạn làm việc nhiều hơn với Git, bạn sẽ có thể hiểu được việc giải quyết xung đột.

Chạy git logbây giờ và bạn sẽ nhận thấy rằng bậc thầy cũng có 3 cam kết.

Kho lưu trữ Git từ xa

Cho đến nay, chúng tôi chỉ làm việc trong kho lưu trữ cục bộ. Mỗi nhà phát triển sẽ làm việc trong kho lưu trữ cục bộ của họ nhưng cuối cùng, họ sẽ đẩy mã vào kho lưu trữ từ xa. Khi mã nằm trong kho lưu trữ từ xa, các nhà phát triển khác có thể xem và sửa đổi mã đó.

GitHub

Ở đây chúng tôi sẽ sử dụng GitHub cho kho lưu trữ từ xa.

Truy cập //github.com/ và tạo tài khoản.

Sau khi đăng ký trên trang chủ GitHub, hãy nhấp vào Bắt đầu một Dự án để tạo một kho lưu trữ Git mới. Đặt tên cho kho lưu trữ và nhấp vào “Tạo kho lưu trữ”

Đặt tên là git-blog-demo.

Thao tác này sẽ tạo một kho lưu trữ từ xa trong GitHub và khi bạn mở kho lưu trữ, một trang như hình bên dưới sẽ mở ra:

URL kho lưu trữ là phần được đánh dấu //github.com/aditya-sridhar/git-blog-demo.git

Để trỏ kho lưu trữ cục bộ của bạn đến kho lưu trữ từ xa, hãy sử dụng lệnh sau:

git remote add origin [repository url]

Git Push

Để đẩy tất cả mã từ kho lưu trữ cục bộ vào kho lưu trữ từ xa, hãy sử dụng lệnh sau:

git push -u origin master

Điều này đẩy mã từ nhánh chính trong kho lưu trữ cục bộ đến nhánh chính trong kho lưu trữ từ xa.

Lệnh bổ sung

Git Pull

git pullđược sử dụng để kéo các thay đổi mới nhất từ ​​kho lưu trữ từ xa vào kho lưu trữ cục bộ. Mã kho lưu trữ từ xa được cập nhật liên tục bởi các nhà phát triển khác nhau, do đó, git pull cần thiết:

git pull origin master

Git Clone

git cloneđược sử dụng để sao chép một kho lưu trữ từ xa hiện có vào máy tính của bạn. Lệnh cho việc này là:

git clone [repository url]

chúc mừng

Bây giờ bạn đã biết những điều cơ bản về cách sử dụng Git, vì vậy hãy tiếp tục và khám phá thêm!

Tôi sẽ sớm xuất bản thêm một bài viết về các khái niệm nâng cao hơn một chút của Git. Giữ nguyên!

Giới thiệu về tác giả

Tôi yêu công nghệ và theo dõi những tiến bộ của công nghệ. Tôi cũng thích giúp đỡ người khác bằng bất kỳ kiến ​​thức nào tôi có trong lĩnh vực công nghệ.

Vui lòng kết nối với tôi trên tài khoản LinkdIn của tôi //www.linkedin.com/in/aditya1811/

Bạn cũng có thể theo dõi tôi trên twitter //twitter.com/adityasridhar18

Trang web của tôi: //adityasridhar.com/

Bài viết khác của tôi

Cách sử dụng Git hiệu quả