Git và GitHub - Sử dụng Git đúng cách giúp tối đa hóa công việc

1340
02-03-2021
Git và GitHub - Sử dụng Git đúng cách giúp tối đa hóa công việc

Git và Github là hai khái niệm rất quen thuộc với dân dev, thực tế nhiều người còn sử dụng chúng hàng ngày. Vậy cần biết cụ thể những gì về Git và GitHub? Sử dụng đúng như thế nào ngay từ đầu để làm việc hiệu quả về sau?


Khái niệm cơ bản về Git và Github

Cùng xét 1 câu chuyện về hai anh chàng lập trình viên, cùng làm dự án chung với nhau:

Có hai anh chàng lập trình viên đang cùng với nhau cùng xây dựng một phần mềm cho khách hàng. Và hai anh chàng này chọn làm việc chung với nhau bằng cách mỗi người tự viết code một ít và gửi cho nhau qua email hoặc một phương thức gửi dữ liệu thông thường nào đó. Mỗi người sau khi nhận được code của nhau sẽ tiến hành tự xem và sửa lại, sau đó cùng nhau ráp nối vào phần mềm mà họ cần làm. Tuy nhiên, một hôm anh A bỗng nhiên vô tình viết code sai vào phần mềm dẫn tới sản phẩm bị lỗi mà trước đó cả hai anh đều không hề sao lưu lại do phần mềm quá lớn. Và thế là hai anh lại cùng nhau xây dựng lại tính năng bị lỗi và tiếp tục gửi cho nhau như vậy.

Xuất phát từ câu chuyện trên chúng ta thấy có hai vấn đề phát sinh ở đây đó là:

1. Mỗi người tự code riêng và gửi cho nhau qua email rất mất thời gian của nhau. Hơn nữa, anh B sẽ không thể biết được anh A đã thay đổi những gì, có ảnh hưởng gì đến code chung của toàn hệ thống hay không, và việc tiến hành merge code rất khó kiểm soát.

2. Việc sửa code mà không hề có bản sao lưu trước đó khiến cho họ phải viết lại code từ đầu khi phần mềm bị lỗi. Việc Git xuất hiện sẽ giúp giải quyết được vấn đề của hai anh chàng trên một cách gọn lẹ, ngoài ra Git còn rất nhiều tính năng hữu hiệu khác nữa đó các bạn. 

Vậy Git là gì và sử dụng để làm gì?

Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS ), là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay .

DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa chính. Và một máy tính khác (nếu họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy tính kia.

Trong Git, thư mục làm việc trên máy tính gọi là Working Tree.

Hiểu đơn giản thì Git sẽ giúp người dùng lưu lại các phiên bản của những lần thay đổi vào mã nguồn và sẽ dễ dàng cho việc khôi phục lại mà không cần phải thủ công copy rồi paste vào đâu đó, phiên bản đó đã được sao lưu. Khi chúng ta phát hiện ra lỗi ở đâu đó và muốn backup lại phiên làm việc trước khi bị lỗi xảy ra thì sẽ thật đơn giản khi chúng ta sử dụng Git. Một điểm đặc biệt nữa là một thành viên trong cùng một team khi làm việc với nhau hoàn toàn có thể theo dõi online được các thay đổi của các thành viên khác ở từng phiên bản làm việc mà không nhất thiết phải ngồi ngay cạnh nhau, họ cũng có thể đối chiếu được những thay đổi đó để rồi gộp phiên bản của thành viên khác vào phiên bản của họ. Cuối cùng là tất cả có thể đưa các thay đổi vào mã nguồn của mình lên một kho chứa mã nguồn.

Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một "ảnh chụp" (snapshot) trên mỗi tập tin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sử dụng lại một ảnh chụp nào đó mà bạn có thể hiểu đó là một phiên bản. Đây cũng chính là lợi thế của Git so với các DVCS khác khi nó không "lưu cứng" dữ liệu mà sẽ lưu với dạng snapshot.

Còn anh bạn cùng cha khác mẹ kia là ai nhỉ?

Tổng quan về Github

Chúng ta đã nghe tới Git và có thể đã dùng GitHub nhưng chúng ta đa phần vẫn nhầm lẫn Git vs GitHub là một bởi vì cứ nói đến Git là nghĩ tới GitHub. Đó là một sự hiểu lầm vì Git như đã giải thích ở trên đó là tên gọi của một mô hình hệ thống, các máy tính có thể clone lại mã nguồn từ một repository , còn GitHub là tên của một công ty cũng cấp dịch vụ máy chủ repository công cộng, mỗi người có thể truy cập vào website trang chủ để tạo tài khoản trên đó và tạo ra kho chứa source của riêng mình khi làm việc.

Github được đánh giá cao và ưu thích, rất nhiều các công ty lớn đặt kho code tại đây: Twiter, Facebook, linkedin... và google cũng hiện diện trên Github.

Trang chủ: https://github.com/

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 1.

Cài đặt Git trên Linux

Sử dụng không mã hóa

Bước 1: Cài đặt Git

sudo apt-get install git ( Ubuntu )

yum install -y git ( CentOS )

Bước 2: Cài đặt thông tin user Git :

git config --global user.name "QuocCuong97"

git config --global user.email "cuongnq24101997@gmail.com"

Bước 3: Kiểm tra lại thông tin :

git config --list

Liên kết mã hóa SSH

Tạo private key:

ssh-keygen -t rsa
Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 6.

=> Ghi nhớ passphrase đã tạo.

Kết quả sau khi tạo key:

ls /root/.ssh
Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 8.

Thêm private key vào tiến trình SSH :

ssh-agent -s

ssh-add /root/.ssh/id_rsa

Copy public key

cat /root/.ssh/id_rsa.pub
Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 11.

Truy cập URL : https://github.com/settings/keys , chọn New SSH key:

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 12.

Paste public key vào rồi chọn Add SSH key:

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 13.

Xác thực lại mật khẩu của Github:

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 14.

Liên kết thành công , có thể commit lên Github tại máy local mà không cần nhập username và password.

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 15.

Các thao tác trên Git

Clone

Cho phép clone repository từ Github về máy local

git clone git@github.com:QuocCuong/INTERN.git

hoặc

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 18.

Add

Trong quá trình làm việc với Local Repository , tạo file newfile.md trong đường dẫn /root/INTERN/docs

Thực hiện add file lên Github:

git add newfile.md

hoặc add tất cả các file đã thêm vào :

git add *

Thực hiện kiểm tra: file newfile.md đang đợi commit

git status

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 19.

Commit

Giống như xét duyệt lại lần cuối các thay đổi trong local repository để đưa lên Github

git commit newfile.md -m "Tao file moi"

hoặc commit tất cả các file pending :

git commit  -m "Tao file moi"

  -m: Ghi lại comment cho 1 commit

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 20.

Push

Đẩy các file đã commit lên Github

git push origin master

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 21.

Pull

Giả sử có 1 thay đổi nào đó được tạo trên Github , cần phải đồng bộ xuống Local để làm việc . Thao tác pull sẽ đối chiếu remote repo trên Github và Local repo sau đó thực hiện đồng bộ xuống máy Local .

git pull

Git vs GitHub - Cách sử dụng Git cơ bản - Ảnh 22.

Ngoài Git và GitHub còn có GitLab quản lý mã nguồn và hiện có sẵn trên Prebuilt App của Bizfly Cloud. Người dùng có thể tích hợp tới 50 công cụ làm việc tiện ích khác chỉ sau vài cú Click tại: https://bizflycloud.vn/prebuilt-app/apps

Git và GitHub - Sử dụng Git đúng cách giúp tối đa hóa công việc  - Ảnh 23.

Theo Bizfly Cloud

Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.

SHARE