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

16 tháng 09, 2019 - 2276 lượt xem

git

Git là một Hệ thống kiểm soát phiên bản phân tán mã nguồn mở. Bây giờ, rất nhiều từ để định nghĩa Git

Hãy để tôi tháo gỡ nó và giải thích từ ngữ:

  • Hệ thống điều khiển: Điều này về cơ bản 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 thêm mã. 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ý việc này bằng cách duy trì lịch sử về những thay đổi đã xảy ra. Ngoài ra, Git cung cấp các tính năng như các nhánh và sáp nhập, mà tôi sẽ trình bày sau.
  • Hệ thống kiểm soát phiên bản phân tán: Git có một kho lưu trữ từ xa được lưu trữ trong một máy chủ và một 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à là 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à một Hệ thống kiểm soát phiên bản phân tán do 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 về 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 thực tế 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ụ để dễ theo dõi hơn.

Tải git

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ụ để dễ theo dõi hơn.
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

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

git --version

Tạo kho Git cục bộ của bạn

Trong máy tính của bạn, tạo một thư mục cho dự án của bạn. Hãy gọi cho thư mục dự án đơn giản là 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

Lệnh git init thêm kho lưu trữ Git cục bộ vào dự án.
Hãy để Thêm một số Mã nhỏ ngay bây giờ

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

Initial Content

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

Staging và Committing

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

Bất kỳ tập tin nào không được thêm vào khu vực tổ chức sẽ không được commit. Điều này cho phép nhà phát triển kiểm soát những tập tin nào cần phải được commit.
Staging
Sử dụng dòng lệnh sau để dàn dựng tệp:

git add demo.txt

Nếu bạn muốn thêm nhiều file 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 trong thư mục dự án của mình vào khu vực tổ chức, hãy sử dụng lệnh sau:

git add .

Sử dụng 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 tổ chức.
Committing

Sử dụng lệnh để commit file:

git commit -m "Initial Commit"

"Initial Commit" là một thông điệp commit ở đây. Nhập một thông báo commit có liên quan để cho biết những thay đổi mã đã được thực hiện trong commit cụ thể đó.

Git status và git log

Bây giờ sửa đổi tệp demo.txt và thêm đoạn mã sau:

Initial Content Adding more Content


Status

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 tổ chức - nó cũng hiển thị các thông tin khác mà chúng ta có thể bỏ qua ngay bây giờ.

Sử dụng 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.txt vào khu vực tổ chức và commit nó bằng các lệnh sau:

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

Log

Sử dụng git log để hiển thị ra tất cả các commit đã được thực hiện cho đến bây giờ.

Lệnh như sau:

git log

Nhật ký hiển thị tác giả của từng commit, ngày commit và thông báo commit.

Branches

Cho đến bây giờ chúng tôi chưa tạo ra bất kỳ chi nhánh nào trong Git. Theo mặc định, Git commit đi vào nhánh master.
Branch là gì

Một branch không là gì ngoài một con trỏ tới commit mới nhất trong kho Git. Vì vậy, hiện tại nhánh master của chúng tôi là một con trỏ đến lần xác nhận thứ hai "demo.txt file is modified"

Tại sao cần nhiều Branch?

Nhiều branch là cần thiết để hỗ trợ nhiều phát triển song song. Tham khảo hình ảnh dưới đây để xem các chi nhánh hoạt động như thế nào.

tree-branch

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

Đồng thời, một commit 3 và comit 4 khác nhau được thêm vào nhánh master. Ở đây chúng ta có thể thấy rằng sau commit 2, hai phát triển song song đang được thực hiện trong 2 branch riêng biệt.

Branch test và branch master đã chuyển hướng ở đây và có mã khác nhau - mã từ Branch test có thể được hợp nhất với branch master bằng cách sử dụng git merge. Điều này sẽ được đề cập sau.

Tạo 1 nhánh mới tại local

Tạo một branch mới gọi là test bằng lệnh sau:

git branch test

Chúng ta vẫn đang ở branch master.Để chuyển sang branch test dùng lệnh:

git checkout test

Bây giờ chúng ta đã ở nhánh test

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

git branch

Thực hiện 1 số commit trong nhánh mới

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

Initial Content Adding more Content Adding some Content from test Branch

Bây giờ thêm và commit sử dụng các lệnh sau:

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

commit này được thực hiện trong branch test và hiện tại branch test đi trước branch master 1 lần commit - vì branch test cũng bao gồm 2 commit từ nhánh master.

Bạn có thể xác minh lịch sử commit trong branch test bằng cách sử dụng:

git log

Merging

Hiện tại, branch test đi trước Master bằng 1 commit. Hãy để nói rằng bây giờ chúng tôi muốn tất cả các mã trong branch test được đưa trở lại branch master. Đây là nơi git merge rất hữu ích.

Để hợp nhất mã từ branch test vào branch master, hãy làm theo các bước sau:
Đầu tiên trở về nhánh master.

git checkout master

Sau đó chạy lệnh hợp nhất:

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 việc hợp nhất đang được thực hiện. Giải quyết xung đột là điều 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ể có được giải pháp giải quyết xung đột.

Chạy git log ngay bây giờ và bạn sẽ nhận thấy rằng master cũng có 3 lần commit.

Kho lưu trữ Git từ xa

Cho đến bây giờ, 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 một 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ã đó
 

Hiển thị kho lưu trữ từ xa và cục bộ
Nhãn

GitHub

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

Truy cập gitHub để tạo tài khoản.

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

Đặt tên là git-blog-demo.
Điều 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 ảnh bên dưới sẽ mở ra:

URL kho lưu trữ là phần được tô sáng https://github.com/aditya-sridhar/git-blog-demo.git

Để trỏ kho lưu trữ cục bộ của bạn vào 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ừ branch trong kho lưu trữ cục bộ sang branch master trong kho lưu trữ từ xa.

Các lệnh bổ sung

Git Pull

git pull được sử dụng để kéo những 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 là 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 về Git. Giữ nguyên!

Thông tin về tác giả

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

Website của tôi:https://adityasridhar.com/

Nguồn:https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae61/

Dịch bởi Vũ Đức Nguyên
 

Bình luận

avatar
LAB XT 2020-07-08 02:31:28.996383 +0000 UTC
Video giới thiệu và cài đặt Git: https://www.youtube.com/watch?v=gjQDyND-vN8
Avatar
* Vui lòng trước khi bình luận.
Ảnh đại diện
  0 Thích
0