Các lệnh Git cơ bản mà bạn cần phải nhớ
Git là gì?
Git là một hệ thống kiểm soát phiên bản phân tán theo dõi các thay đổi trong bất kỳ tập hợp tệp máy tính nào, thường được sử dụng để điều phối công việc giữa các lập trình viên đang cộng tác phát triển mã nguồn trong quá trình phát triển phần mềm. Mục tiêu của nó bao gồm tốc độ, tính toàn vẹn dữ liệu và hỗ trợ cho các quy trình làm việc phi tuyến tính, phân tán (hàng nghìn nhánh song song chạy trên các máy tính khác nhau).
Sử dụng lệnh Git khi phát triển phần mềm hoặc ứng dụng giúp bạn đơn giản hóa quy trình làm việc và quản lý kho lưu trữ. Cho dù bạn là nhà phát triển cá nhân hay thành viên nhóm, việc học Git sẽ đơn giản hóa việc kiểm soát phiên bản và nâng cao hiệu quả.
Hướng dẫn lệnh Git này cung cấp danh sách các lệnh Git cùng với mục đích và ví dụ sử dụng của chúng. Nó bao gồm những điều cơ bản và giới thiệu một số kỹ thuật nâng cao.
Hiểu quy trình làm việc Git
Một dự án Git bao gồm ba phần chính: thư mục làm việc, vùng tổ chức và thư mục git.
Thư mục làm việc là nơi bạn thêm, xóa và chỉnh sửa các tập tin. Sau đó, những thay đổi được lập chỉ mục trong khu vực tổ chức. Sau khi bạn thực hiện các sửa đổi của mình, ảnh chụp nhanh các thay đổi sẽ được lưu trong thư mục.
Git có thể được tải xuống từ trang web chính thức của nó. Nó có sẵn cho Linux hoặc Unix, Windows và macOS.
Đối với các bản phân phối dựa trên Debian, bao gồm Ubuntu:
sudo apt install git
Đối với các bản phân phối dựa trên Fedora, chẳng hạn như CentOS:
sudo yum install git
hoặc
sudo dnf install git
Các lệnh Git được sử dụng phổ biến nhất
Đối với một số người dùng, Git có thể gặp khó khăn trong quá trình học tập. May mắn thay, phần này sẽ hướng dẫn bạn các lệnh Git được sử dụng thường xuyên nhất trong công cụ giao diện dòng lệnh (CLI).
Nếu bạn thích giao diện đồ họa người dùng (GUI) để viết lệnh Git, hãy cân nhắc sử dụng một trong những ứng dụng khách GUI Git tốt nhất .
Hãy cùng khám phá một số lệnh Git cần thiết và chức năng của chúng.
Các lệnh Git cơ bản
Khởi tạo git
Lệnh này khởi tạo kho lưu trữ Git mới trong một thư mục. Đây là cách sử dụng git init cơ bản :
git init
Để tạo kho lưu trữ mới trong khi chỉ định tên dự án, hãy sử dụng lệnh sau:
git init [project name]
thêm git
Lệnh này được sử dụng để phân giai đoạn các thay đổi của tệp, chuẩn bị chúng cho lần xác nhận tiếp theo:
git add file1.txt
Tạo commit git
Sử dụng lệnh này để tạo thông báo cam kết cho các thay đổi, biến chúng thành một phần lịch sử dự án của bạn:
git commit -m "Add new feature"
trạng thái git
Lệnh này hiển thị những hiểu biết có giá trị về các sửa đổi và trạng thái dàn dựng của tệp của bạn.
git status
nhật ký git
Việc sử dụng nhật ký git cơ bản cho phép bạn xem danh sách theo trình tự thời gian của lịch sử cam kết:
git log
git khác biệt
Lệnh này cho phép bạn so sánh các thay đổi giữa thư mục làm việc của bạn và lần xác nhận gần đây nhất. Ví dụ: cách sử dụng git diff này xác định sự khác biệt trong một tệp cụ thể:
git diff file1.txt
Để so sánh các thay đổi giữa hai lần xác nhận, hãy sử dụng như sau:
git diff commit1 commit2
git rm
Lệnh này sẽ xóa các tệp khỏi thư mục làm việc của bạn và tiến hành xóa cho lần xác nhận tiếp theo.
git rm file1.txt
git mv
Sử dụng lệnh này để đổi tên và di chuyển các tập tin trong thư mục làm việc của bạn. Đây là lệnh Git để đổi tên tệp:
git mv file1.txt file2.txt
Để di chuyển một tập tin sang một thư mục khác, hãy nhập:
git mv file1.txt new_directory/
cấu hình git
Lệnh này định cấu hình các khía cạnh khác nhau của Git, bao gồm thông tin và tùy chọn của người dùng. Ví dụ: nhập lệnh này để đặt địa chỉ email của bạn cho các lần xác nhận:
git config --global user.email "your.email@example.com"
Tùy chọn –global áp dụng các cấu hình một cách phổ biến, ảnh hưởng đến kho lưu trữ cục bộ của bạn.
Lệnh phân nhánh và hợp nhất Git
nhánh git
Sử dụng lệnh này để quản lý các nhánh trong kho Git của bạn. Đây là cách sử dụng nhánh git cơ bản để liệt kê tất cả các nhánh hiện có:
git branch
Để tạo một nhánh Git có tên là “feature”, hãy sử dụng:
git branch feature
Để đổi tên một nhánh Git , hãy nhập lệnh này:
git branch -m branch-name new-branch-name
kiểm tra git
Lệnh này cho phép bạn chuyển đổi giữa các nhánh và khôi phục các tệp từ các lần xác nhận khác nhau.
Sau đây là cách sử dụng kiểm tra git để chuyển sang một nhánh hiện có:
git checkout branch_name
Để loại bỏ các thay đổi đối với một tệp cụ thể và hoàn nguyên nó về lần xác nhận cuối cùng, hãy sử dụng:
git checkout -- file_name
hợp nhất git
Để kết hợp một nhánh tính năng hoặc chủ đề vào nhánh Git chính, hãy sử dụng lệnh này. Dưới đây là một ví dụ về cách sử dụng git merge cơ bản :
git merge branch_name
git cherry-pick
Lệnh này cho phép bạn áp dụng các cam kết cụ thể từ nhánh này sang nhánh khác mà không cần hợp nhất toàn bộ nhánh.
git cherry-pick commit_hash
cơ sở git rebase
Lệnh này được sử dụng để áp dụng các thay đổi từ nhánh Git này sang nhánh Git khác bằng cách di chuyển hoặc kết hợp các xác nhận. Nó giúp duy trì lịch sử cam kết sạch hơn:
git rebase main
thẻ git
Lệnh này đánh dấu các điểm cụ thể trong lịch sử Git của bạn, chẳng hạn như v1.0 hoặc v2.0:
git tag v1.0
Lệnh kho lưu trữ từ xa Git
git clone
Lệnh này tạo một bản sao của kho lưu trữ từ xa trên máy cục bộ của bạn. Cách sử dụng git clone cơ bản là sao chép kho lưu trữ từ GitHub :
git clone https://github.com/username/my-project.git
git push
Lệnh này gửi các cam kết nhánh Git cục bộ của bạn tới một kho lưu trữ từ xa, cập nhật nó với những thay đổi mới nhất của bạn.
Ví dụ: bạn muốn đẩy các thay đổi từ kho lưu trữ cục bộ có tên là “chính” sang kho lưu trữ từ xa có tên là “Origin”:
git push origin main
git pull
Lệnh này tìm nạp và tích hợp các thay đổi từ kho lưu trữ từ xa vào nhánh cục bộ hiện tại của bạn. Đây là ví dụ sử dụng git pull để lấy các thay đổi từ nhánh chính:
git pull origin master
git fecth
Để truy xuất các cam kết mới từ kho lưu trữ từ xa mà không tự động hợp nhất chúng vào nhánh hiện tại của bạn, hãy sử dụng lệnh này:
git fetch origin
git remote
Lệnh này quản lý các kho lưu trữ từ xa được liên kết với kho lưu trữ cục bộ của bạn. Cách sử dụng từ xa git cơ bản liệt kê kho lưu trữ từ xa:
git remote
Để thêm kho lưu trữ từ xa mới, hãy chỉ định tên và URL của nó. Ví dụ:
git remote add origin https://github.com/username/origin.git
git submodule
Lệnh này được sử dụng để quản lý các kho riêng biệt được nhúng trong kho Git.
Để thêm một mô hình con vào kho lưu trữ chính của bạn, hãy sử dụng:
git submodule add https://github.com/username/submodule-repo.git path/to/submodule
Lệnh Git nâng cao
thiết lập lại git
Lệnh này dùng để hoàn tác các thay đổi và thao tác với lịch sử cam kết. Đây là ví dụ sử dụng git reset cơ bản để bỏ qua các thay đổi:
git reset file1.txt
git stash
Để lưu trữ các thay đổi tạm thời chưa sẵn sàng để cam kết, hãy sử dụng lệnh này:
git stash
Để xem danh sách các stash:
git stash list
Để áp dụng stash gần đây nhất và xóa nó khỏi danh sách stash:
git stash pop
git bisect
Lệnh này chủ yếu được sử dụng để xác định lỗi hoặc sự cố trong lịch sử dự án của bạn. Để bắt đầu quá trình chia đôi, sử dụng lệnh này:
git bisect start
Git sẽ tự động điều hướng bạn qua các cam kết để tìm ra những vấn đề có vấn đề bằng cách sử dụng:
git bisect run <test-script>
git blame
Lệnh này xác định tác giả và thay đổi gần đây nhất cho mỗi dòng tệp:
git blame file1.txt
git reflog
Lệnh này ghi lại các thay đổi của nhánh Git. Nó cho phép bạn theo dõi dòng thời gian của kho lưu trữ, ngay cả khi các cam kết bị xóa hoặc bị mất:
git reflog
git clean
Cuối cùng nhưng không kém phần quan trọng, lệnh này sẽ xóa các tệp không bị theo dõi khỏi thư mục làm việc của bạn, mang lại một kho lưu trữ sạch sẽ và có tổ chức:
git clean [options]
[options] có thể được tùy chỉnh dựa trên nhu cầu cụ thể của bạn, chẳng hạn như -n cho chạy thử, -f cho bắt buộc hoặc -d cho thư mục.
Tải Git Cheat Sheet
Nếu bạn mới bắt đầu, có thể khó nhớ ngay cả những lệnh Git thiết yếu. Thật may mắn cho bạn, chúng tôi đã tạo một bảng tóm tắt Git để giúp bạn thành thạo công cụ này. Tải xuống hoặc in nó ra để luôn sẵn sàng khi bạn không nhớ được lệnh Git.