Các bạn là một trong những lập trình viên thì không thể nào không biết đến công cụ hỗ trợ là Git. Git là một nền tảng mã nguồn mở hoạt động như một hệ thống kiểm soát phiên bản phân tán. Công dụng mà nó mang lại cho người sử dụng không phải là ít, thế nên bây giờ, có nhiều từ ngữ giải thích về định nghĩa của Git.
Khái quát về hệ thống Git
- Git là một trong những hệ thống kiểm soát phiên bản dùng để theo dõi các thay đổi trong tập tin, nó được dùng để thay đổi trong các tập tin bất kỳ và nó được sử dụng chính trong các lĩnh vực phát triển kỹ thuật phần mềm.
- Git được hiểu là hệ thống điều khiển về mặt cơ bản nó là một trình theo dõi nội dung vì thế Git có thể sử dụng được để lưu trữ nội dung chủ yếu sử dụng để lưu trữ các mã do tính năng khác mà nó cung cấp.
- Git được coi là một hệ thống điều khiển phân tán có tốc độ xử lý nhanh những vẫn đảm bảo được toàn vẹn dữ liệu và hỗ trợ hiệu quả cao cho các workflow phân tán. Giống như các hệ thống quản lý phiên bản phân tán khác, mọi thư mục Git trên máy tính đều là một kho chứa lịch sử . Gồm có kho lưu trữ từ xa trong máy chủ và một kho lưu trữ cục bộ được lưu trữ trong máy tính của nhà phát triển. Mình sẽ giới thiệu rõ về hai kho này ở dưới bài viết này nhé.
Hệ thống kiểm soát Git hoạt động như thế nào ?
Trong thực tế làm việc thì các nhà phát triển thường thực hiện song song các dự án. Để tránh sự xung đột giữa các mã giữa các nhà phát triển ta cần một hệ thống kiểm soát. Để làm được điều này hầu hết các nhà phát triển chon Git là hệ thống kiểm soát các mã để tránh sự xung đột các mã của nhà phát triển.
Bên cạnh đó, các yêu cầu trong các dự án thường xuyên được thay đổi. Có những khi bạn đã xóa một đoạn code nhưng lúc sau phát hiện ra đoạn code đó vẫn cần dùng. Thế nên cần có một kiểm soát để nhà phát triển có thể quay lại phiên bản cũ của mã. Chính vì vậy Git là một trong những lựa chọn để sử dụng. Vì Git giúp người dùng lưu lại những phiên bản của những lần thay đổi mã nguồn.
Hầu như các hệ thống quản lý phiên bản tập chung tất cả mã nguồn và lịch sử thay đổi ở một chỗ máy chủ, thì với Git nó lại là một hệ thống quản lý phiên bản phân tán. Điều này giúp ích nhiều trong khi các dự án đang được chạy song song liên quan đến cùng một cơ sở mã.
Hãy bắt đầu sử dụng Git ngay bây giờ
Trên đây mình mới giới thiệu chung chung về Git để các bạn hiểu rõ hơn về Git các bạn hãy theo dõi ví dụ dưới đây.
Tải git
Để tải Git bạn hãy truy cập vào trang web download của Git
Xác minh nếu Git đã được cài đặt ta dùng lệnh sau:
Tạo kho Git cục bộ của bạn
Thiết lập một dự án trong máy tính và đặt tên cho thư mục đó là git-demo.
Trên dự án của bạn thêm kho lưu trữ Git cục bộ sẽ dùng các lệnh sau:
Sau đó thêm một số Mã nhỏ ngay bây giờ
Tạo một file text có tên demo.txt trong thư mục làm việc của dự án và nhập nội dung cho file như sau:
Staging và Committing
Đối với Commit trong Git thì nó là quá trình mã được thêm vào kho lưu trữ cục bộ. Trước khi thực hiện thao tác commit thì bạn cần kiểm tra rằng nó đã nằm trong khu vực tổ chức- một khu vực có chức năng chính là theo dõi tất cả các tệp tin được commit. Tập tin nào mà không nằm trong khu vực tổ chức thì sẽ không được commit. Gíup 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 lệnh sau để dàn dựng tệp:
Để thêm nhiều file bạn có thể sử dụng:
Nếu muốn đưa 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 dùng lệnh sau:
Committing
Lệnh để commit file:
Git status và git log
Chúng ta sửa đổi tệp demo.txt và thêm đoạn mã sau:
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 chúng ta nên sử dụng git status.
Dùng lệnh sau thực hiện:
Demo.txt đã được sửa nội dung nhưng chưa được chuyển vào trong khu vực tổ chức. Ta có thể thực hiện chuyển file demo.txt vào trong khu vực tổ chức và tiến hành commit thông qua các lệnh:
Log
Để hiện thị tất cả commit được thực hiện bạn hãy sử dụng git log với lệnh như sau:
Branches
Branch là gì
Branch được dùng để phân nhánh và ghi lại lịch sử đã thực hiện, nó đã phân nhánh thì sẽ không ảnh hưởng đến Branch khác nên có thể thực hiện nhiều thay đổi trong cùng một repository. Trong lần đầu commit ở repository thì Git tạo ra một branch có tên là master chính vì thế những lần sau commit sau được thêm vào branch master cho đến khi mình chuyển đổi branch.
Tại sao cần nhiều Branch?
Trong quá trình làm việc hiện nay có nhiều dự án phát triển song song thế nên cần nhiều branch để hỗ trợ. Dưới đây bạn hãy là hình ảnh chi nhánh hoạt động.
Thao tác thực hiện các commit theo thứ tự lần lượt trong nhánh master trước. Sau đó branch mới có tên là Test, ở nhánh test gồm có commit 3 và commit 4. Trên nhánh master cũng có một commit 3 và commit 4. Ngay sau commit 2 ta phát triển song song và đang được thực hiện trong 2 branch riêng biệt.
Sau khi Branch test và branch master đã chuyển hướng và có mã khác nhau. Sử dụng Git merge để mã từ Branch test có thể được hợp nhất với branch master.
Tạo 1 nhánh mới tại local
Khi một branch mới được tạo có tên gọi là test thực hiện bằng lệnh sau:
Chúng ta vẫn đang ở branch master. Để chuyển sang branch test dùng lệnh:
Ngay sau khi lệnh trên được thực hiện thì mình đang ở nhánh test, bạn có thể liệt kê toàn bộ các nhánh trong local như sau:
Thực hiện 1 số commit trong nhánh mới
Thêm đoạn mã sau để sửa đổi demo.txt:
Ta thêm và commit sử dụng các lệnh sau:
Bạn có thể tra lại lịch sử commit bằng branch test như sau:
Merging
Master hiện chỉ cách sau Branch Test 1 lệnh commit. Vậy nếu bạn muốn đưa tất cả các Branch Test trở lại Branch Master- nơi Git Merge có thể trở nên rất hữu ích
Để đưa mã từ branch test vào branch master, hãy làm theo các bước sau:
Ban đầu trở về nhánh master.
Dùng lệnh sau đây để hoàn tất:
Sau khi thực hiện sau xong hai lệnh trên bạn đã hoàn thành công việc thống nhất mã từ branch test vào branch master, ở đây không có xung đột.
Nhưng trong các dự án thực tế trong qúa trình thực hiện sẽ có xung đột. Để khắc phục lỗi này thì chắc chắn người giải quyết 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ể có được giải pháp giải quyết xung đột cách nhanh chóng nhất.
Kho lưu trữ Git từ xa
Hầu hết mọi người làm việc trong kho lưu trữ cục bộ và 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 đến khi hoàn tất họ sẽ đẩy mã vào một kho lưu trữ từ xa, sau đó các nhà phát triển khác xem và sửa đổi lại mã đó.
GitHub
GitHub chính là dịch vụ trên web dành cho hệ thống kiểm soát Git revison, nó cung cấp nhiều chức năng để các Developer học hỏi kinh nghiệm thông qua commit đã thực hiện. Chính vì thế khi mình là việc trên kho lưu trữ từ xa thì thường thường ta sẽ sử dụng GitHub. Hãy vào trang web nào đó để truy cập gitHub để tạo tài khoản nhé.
Sau bước tại tài khoản ta đã sở hữu một tài khoản riêng tiếp theo ta đăng ký trên trang chủ GitHub, để tạo một kho lưu trữ mới ta cần nhấp vào Bắt đầu một Dự án. Sau đó bạn đặt tên cho kho lưu trữ và nhấp vào”Create Repository” đặt tên là git-blog-demo.
Khi đó trong GitHub bạn đã có kho lưu trữ từ xa khi mở kho lưu trữ ta mở trang như sau:
Lệnh dưới đây sẽ giúp ta đưa kho lưu trữ cục bộ của bạn vào kho lưu trữ từ xa:
Git Push
Khi bạn muốn đẩy tất cả các mã từ branch trong kho lưu trữ cục bộ sang branch master trong kho lưu trữ từ xa dùng lệnh sau đây để thực hiện.
Các lệnh bổ sung
Git Pull
Git Pull được sử dụng để cập nhật những thay đổi mới nhất từ kho lưu trữ từ xa lên kho lưu trữ cục bộ. Các nhà phát triển khác nhau luôn được cập nhật liên tục mã kho lưu trữ từ xa ở đây ta nên áp dụng lệnh git pull:
Git Clone
Bạn muốn sao chép một kho lưu trữ từ xa hiện đang có vào máy tính của mình bạn hãy dùng GitClone nhé hãy áp dụng lệnh này nhé:
Kết luận
Bài viết hôm nay của mình đi vào giới thiệu với các bạn về Git, các câu lệnh để sử dụng nó và lợi ích mà nó mang lại cho người sử dụng. Các bạn chưa biết đến Git và cách sử dụng của nó hay theo dõi bài viết của mình để nắm rõ hơn nhé!