Trang chủ » Thủ thuật - Phần mềm » Git là gì? Giới thiệu về Git và cách sử dụng Git?

Thủ thuật - Phần mềm

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

25/05/2024

Git là một Hệ thống kiểm soát phiên bản phân tán mã nguồn mở . Hiện tại có rất nhiều từ ngữ định nghĩa về Git và hãy để mình chia nhỏ và giải thích từng 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 liên tục thay đổi khi có 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ý vấn đề này bằng cách duy trì lịch sử về những thay đổi đã xảy ra. Ngoài ra, Git còn cung cấp các tính năng như phân 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ó một Repository từ xa được lưu trữ trong máy chủ và một Repository 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áy chủ trung tâm mà bản sao đầy đủ của mã còn có trong tất 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áy tính của mọi nhà phát triển. Tôi sẽ giải thích khái niệm về Repository từ xa và cục bộ ở phần sau của 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 lập trình viên làm việc song song. Vì vậy cần có một hệ thống kiểm soát phiên bản như Git để đả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 thường xuyên thay đổi. Vì vậy, 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 mã cũ hơn.

Cuối cùng, đôi khi một số dự án đang chạy song song có 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.

Cách sử dụng 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.

Tải xuống Git

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

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

Xác minh xem Git đã được cài đặt 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, 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 Repository local vào dự án bằng các lệnh sau:

cd simple-git-demo
git init
Lệnh git initthêm Repository Git cục bộ vào dự án.

Thêm một số Source Code

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 ta sẽ demo chỉ bằng văn bản thuần túy 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 dữ liệu

Commit là quá trình trong đó mã được thêm vào Repository cục bộ (local repository). Trước khi Commit, Code phải nằm trong khu vực tổ chức (staging area). Khu vực tổ chức ở đó để 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 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 nào cần được Commit.

Staging

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

git add demo.txt

Trong trường hợp 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 .

Hãy sử dụng tính năng này một cách cẩn thận vì nó sẽ 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.

Commit

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

git commit -m "Initial Commit"

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

Trạng thái Git và Nhật ký Git (Git Status và Git Log)

Bây giờ hãy sửa đổi demo.txt tệp 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 tin nào được sửa đổi và những tập tin nào có trong khu vực tổ chức - nó cũng hiển thị những thông tin khác mà hiện tại chúng ta có thể bỏ qua.

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 có 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để in ra tất cả các cam kết đã được thực hiện cho đến thời điểm hiện tại.

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 từng cam kết, ngày thực hiện cam kết và thông báo cam kết.

Branches

Cho đến bây giờ chúng ta chưa tạo bất kỳ nhánh nào trong Git. Theo mặc định, Git cam kết đi vào nhánh chính.

Branches là gì?

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

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

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

cách sử dụng Git - 1

Ban đầu, commit 1 và commit 2 được thực hiện trong nhánh chính (master branch). Sau commit 2, một Nhánh 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à commit 4 khác được thêm vào nhánh chính. Ở đây chúng ta có thể thấy rằng sau Commit 2, hai sự phát triển song song đang được thực hiện ở 2 nhánh riêng biệt.

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

Tạo một nhánh mới trên Local

Tạo một nhánh mới có tên test bằng lệnh sau:

git branch test

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

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

git checkout test

Bây giờ chúng ta đang ở trong nhánh test.

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

git branch

Thực hiện một số commit tại chi 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

Sau đó, chúng ta sẽ thực hiện staging và commit bằng cách sử dụng lệnh sau:

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

Commit này đã được thực hiện trong Nhánh "Test" và nhánh test hiện đang hơn nhánh master 1 commit - vì nhánh test cũng bao gồm 2 commit từ nhánh chính.

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

git log

Gộp nhánh (Merging)

Hiện tại, nhánh Test đang dẫn trước Master 1 lần Commit. Giả sử bây giờ chúng ta muốn tất cả mã trong Nhánh Test được đưa trở lại Nhánh Chính. Ở đây chúng ta sẽ cần đến git merge.

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

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

git checkout master

Sau đó chạy lệnh merge:

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 thực hiện việc hợp nhất. Giải quyết xung đột dữ liệu chúng ta sẽ cần có 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 rõ hơn về việc 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 xác nhận.

Kho lưu trữ Git từ xa (Git Repository)

Cho đến thời điểm hiện tại, chúng ta chỉ làm việc trong Repository cục bộ (local repository). Mỗi nhà phát triển sẽ làm việc trong Repository cục bộ của họ nhưng cuối cùng, họ sẽ đẩy mã vào Repository từ xa. Sau khi mã nằm trong Repository từ xa, các nhà phát triển khác có thể xem và sửa đổi mã đó.

cách sử dụng Git - 2

GitHub

Ở đây chúng ta sẽ sử dụng GitHub cho Repository từ xa.

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

Sau khi đăng ký trên trang chủ GitHub, nhấp vào Bắt đầu dự án ( Start a Project) để tạo repository mới. Đặt tên cho repository và nhấp vào “Create Repository”

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

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

git remote add origin [repository url]

URL Repository là phần được đánh dấuhttps://github.com/aditya-sridhar/git-blog-demo.git

Để trỏ Repository cục bộ của bạn tới Repository từ xa, hãy sử dụng lệnh sau:

cách sử dụng Git - 2

Git Push

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

git push -u origin master

Thao tác này sẽ đẩy mã từ nhánh chính trong Repository cục bộ sang nhánh chính trong Repository từ xa.

Lệnh bổ sung

Git PULL

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

git pull origin master

Git Clone

Git Clone được sử dụng để sao chép Repository 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]

Xin chúc mừng. Và bây giờ bạn đã biết những điều cơ bản về cách sử dụng Git, bạn hãy tiếp tục và khám phá thêm về Git ở link phía dưới nhé!

Hướng dẫn tạo và sử dụng SSH Key với Gitlab và Github

 

 

Bài viết liên quan


SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin trên đường truyền. Các chương trình trước đây: telnet, rlogin không sử dụng phương pháp mã hoá.
Trong thời đại số ngày nay, việc tiếp cận và tương tác với khách hàng thông qua email là một phần quan trọng của chiến lược tiếp thị trực tuyến. Để giúp doanh nghiệp tối ưu hóa hiệu suất chiến dịch email, phần mềm gửi email hàng loạt E-Marketing đã trở thành một công cụ quan trọng giúp đưa sản phẩm và dịch vụ đơn vị của bạn đến với nhiều khách hàng hơn.
ChatGPT, một công cụ xử lý ngôn ngữ tự nhiên, thực sự đặc biệt với khả năng tương tác dạng đối thoại và đưa ra phản hồi như con người. Ngoài ra, nó còn hỗ trợ trong việc soạn email, viết luận văn, và nhiều các tác vụ khác. Cho đến nay, chúng ta chủ yếu đã sử dụng ChatGPT trên máy tính, phải không nào? Tuy nhiên, trong bài viết này hãy cùng mình khám phá cách cài đặt và sử dụng ChatGPT trên điện thoại di động qua hướng dẫn sau đây các bạn nhé.
Hiện nay, ChatGPT đang là một hiện tượng nổi bật, tạo nên một đột phá đầy tích cực trong lĩnh vực công nghệ và trí tuệ nhân tạo. Với khả năng tạo ra đoạn văn, mã code, và cung cấp thông tin đa dạng, ChatGPT không chỉ mở ra một thế giới mới về sự sáng tạo mà còn là công cụ linh hoạt, dễ sử dụng trên cả điện thoại và máy tính.
Menu đa cấp được sử dụng rất nhiều trong các website, nó mang lại sự tiện lợi cho việc hiển thị các hệ thống có đa danh mục. Trong bài viết này SoftvietDesign sẽ hướng dẫn các bạn tạo menu đa cấp bằng HTML-CSS một cách tiện lợi và dễ hiễu nhất nhé.
SQL Server là ngôn ngữ lập trình phổ biến đối với các lập trình viên nói riêng hay người sử dụng máy tính nói chung, nó sử dụng ngôn ngữ phi thủ tục, tất cả các cách sử dụng cũng như trình điều khiển trở nên rất dễ dàng
Sử dụng máy tính nhiều giờ liền ảnh hưởng đáng kể đến sức khỏe. Hãy dành thời gian quan tâm tới thông điệp từ cơ thể để luôn giữ được “phong độ”. 6 gợi ý sau đây sẽ rất hữu ích với bạn.
Có rất nhiều blog về marketing, blog làm seo (Search Engine Optimization), nhiều diễn đàn bàn luận về seo, các twitter và facebook chia sẽ thông tin seo … Quá nhiều thông tin làm cho bạn mất phương hướng, nhất là những bạn mới vào nghề tìm hiểu về SEO. Do đó hôm nay, SoftvietDesign chia sẽ kinh nghiệm cho bạn mới vào nghề.
Không khó nếu bạn đã xác định được rõ mục tiêu và làm việc với đối tác là một công ty chuyên nghiệp trong thiết kế và phát triển các công cụ thương mại điện tử. Bạn có thể định nghĩa theo ISO "là sự thoả mãn yêu cầu của người dùng", không sai nhưng quá chung chung

 

0988 542 856
0988 542 856