Viet Dev

Cover image for Cơ bản về Git
Tuan for Unicloud Group

Posted on

Cơ bản về Git

Cơ bản về Git

Git là một hệ thống quản lý phiên bản phân tán (Distributed
Version Control System – DVCS
), nó giúp theo dõi sự thay đổi của các
file trên máy tính và điều phối công việc trên các file đó với nhiều
người.

Git là gì

  • Git không nhất thiết phải lưu trữ tất cả các phiên bản của dự án
    trên Server. Thay vào đó, mọi người dùng sao chép (clone) một
    bản sao của kho lưu trữ (repository) và có toàn bộ lịch sử của
    dự án trên máy tính của họ. Bản sao này có dữ liệu của bản gốc được
    lưu trữ trên server hoặc lưu trữ qua một bên thứ ba như Github.

  • Git giúp bạn theo dõi những thay đổi thực hiện đối với mã code của
    mình. Về cơ bản nó là một tag lịch sử cho trình soạn thảo của bạn.
    Nếu tại bất kỳ thời điểm nào, bạn gặp lỗi nghiêm trọng và không biết
    nguyên nhân gây ra lỗi, bạn luôn có thể trở lại trạng thái hoạt động
    ổn định nhất trước đó. Chính vì vậy nó thực sự hữu ích cho việc gỡ
    lỗi hoặc đơn giản bạn có thể chỉ cần xem những thay đổi nào bạn đã
    thực hiện đối với mã code của mình theo thời gian.

  • Git giúp đồng bộ mã code giữa nhiều người. Vì vậy, giả sử bạn đang
    làm việc nhóm, các bạn đều đang làm việc trên các file giống nhau.
    Lúc này, Git nhận re những thay đổi mà nhóm của bạn đã thực hiện một
    cách độc lập và hợp nhất (merge) chúng lại vào một kho lưu trữ
    master. Vì vậy, bằng cách sử dụng Git, bạn có thể đảm bảo rằng
    các bên đều làm việc ở phiên bản mới nhất của kho lưu trữ. Vì vậy,
    bạn không cần phải lo lắng về việc gửi các file của mình qua mail
    cho nhau và có thể làm việc với số lượng lớn các bản sao của dự án
    gốc.

Cài đặt Git trên máy tính Linux

Git có thể dễ dàng cài đặt trên các hệ điều hành khác nhau như Windows,
MacOS hay Linux. Trong nội dung bài hướng dẫn này, ta chỉ làm việc trên
hệ điều hành Linux.

# install newest version
sudo apt install git-all

# check git version
git --version
Enter fullscreen mode Exit fullscreen mode

Sau khi cài đặt Git thành công, cần định danh cho git local trên máy
tính của bạn

git config --global user.name "YOUR_USERNAME"
git config --global user.email "YOUR_EMAIL"
git config --global --list
Enter fullscreen mode Exit fullscreen mode

Các lệnh git cơ bản

git init

Bạn đang xây dựng 1 dự án nhưng lúc này bạn muốn dự án đó hoạt động
trong môi trường Git, bạn có thể cài đặt Git vào dự án của bạn ngay lập
tức bằng lệnh

# goto project
cd project
git init
Enter fullscreen mode Exit fullscreen mode

git clone

Tạo 1 Folder để chứa mã nguồn và truy cập vào folder mới khởi tạo, sử
dụng git clone để clone dự án

# create folder
mkdir -p project

# goto folder
cd project

# clone project
git clone https://github.com/<git_project>
Enter fullscreen mode Exit fullscreen mode

Ở đây chúng ta đang clone theo định dạng https, đối với định dạng
này, chúng ta không cần phải nhập mật khẩu khi clone dự án. Ngoài ra,
Git còn hỗ trợ một định dạng khác là ssh, chúng ta sẽ tìm hiểu ở bài
sau.

git status

git status dùng để liệt kê tất cả những thay đổi trong quá trình làm
việc của bạn, sau lần commit cuối cùng

git status
Enter fullscreen mode Exit fullscreen mode

git add

git add dùng để thêm 1 hoặc nhiều file trong thư mục làm việc vào phân
vùng staging

# add 1 file
git add link_file

# add many file
git add link_file1 link_file2 ...

# add all file
git add .
Enter fullscreen mode Exit fullscreen mode

git commit

git commit dùng để thêm tất các các file trong phân vùng staging kho lưu
trự cục bộ local repository

git add -m "commit_name"
Enter fullscreen mode Exit fullscreen mode

Tên của commit nên được đặt với mục đích gợi nhớ về những thay đổi trước
đó, để dễ dàng quay lại đúng commit khi xảy ra sự cố.

git push

git push được dùng dể thêm tất cả các file đã commit ở kho lưu trữ cục
bộ local repository vào kho lưu trữ từ xa remote repository. Vì
vậy, trong kho lưu trữ từ xa, tất cả các file và các thay đổi sẽ hiển
thị cho bất kỳ ai có quyền truy cập vào kho lưu trữ từ xa.

# syntax
git push remote branch

# example: remote = origin, branch  = master
git push origin master
Enter fullscreen mode Exit fullscreen mode

Đối với branch là master, bạn phải là người quản lý dự án mới được quyền
push trực tiếp lên nhánh này.

Ngoài ra, bạn có thể push tất cả các nhánh trên máy tính của bạn lên git
bằng lệnh

git push origin --all
Enter fullscreen mode Exit fullscreen mode

git fetch và git merge

git fetch được sử dụng để lấy các file từ kho lưu trữ từ xa về kho lưu
trữ cục bộ nhưng không vào thư mục làm việc

# fetch all brach of remote origin
git fetch origin
#or
git fetch --all

# fetch all brach of remote origin, branch master
git fetch origin master
Enter fullscreen mode Exit fullscreen mode

git merge dùng để đưa các tệp từ kho lưu trữ cục bộ vào thư mục làm việc

git merge master
Enter fullscreen mode Exit fullscreen mode

git pull

git pull dùng để lấy các tệp từ kho lưu trữ từ xa trực tiếp vào thư mục
làm việc. Nó tương đương với một git fetch và một git merge.

# example
git pull origin master
Enter fullscreen mode Exit fullscreen mode

Top comments (0)