+2

Git Cơ Bản Cho Người Mới Bắt Đầu - P2

Đây Sẽ Là Phần 2, Tiếp Nối Phần 1 Còn Đang Gian Dỡ

xem thêm phần 1 ở đây

11. Git Merge

Git merge là một trong những lệnh quan trọng nhất trong Git, cho phép bạn kết hợp các thay đổi từ một nhánh (branch) vào nhánh hiện tại của bạn.Việc merge sẽ cập nhật những đoạn code có trong những nhanh con

git merge <ten_nhánh>

Ví dụ

# Chuyển sang nhánh main 
	git checkout main 
# Merge nhánh develop vào main 
	git merge develop

12. Git Branch

Git Branch là một phần cực kỳ quan trong khi bạn dùng đến git, lệnh branch dùng để quản lý dữ liệu và feature có trong dự án mà tránh việc ảnh hưởng trực tiếp đến dự án chính

  • lệnh dùng để tạo nhanh mới
git branch <name_branch>
  • Tạo nhánh mới trỏ đến commit cụ thể.
git branch <tên_nhánh> <commit_id>
  • Đổi tên nhánh local.
git branch -m <tên_cũ> <tên_mới>
  • Xóa nhánh local (chỉ khi nhánh đã được merge).
git branch -d <tên_nhánh>

13. Git Reset

git reset là một lệnh mạnh mẽ trong Git dùng để hoàn tác các thay đổi. Nó có thể thay đổi trạng thái của các commit, staging area (index), và working directory. Dưới đây là các cách sử dụng phổ biến của git reset

git reset --soft <commit>

- Di chuyển HEAD về commit trước đó, nhưng giữ nguyên thay đổi trong staging area và working directory. Bạn có thể sửa đổi thay đổi và commit lại.
```bash
git reset --mixed <commit>
  • Di chuyển HEAD về commit hiện tại và đưa tất cả thay đổi từ staging area trở về working directory.
git reset --hard <commit>
  • Di chuyển HEAD về commit cách commit hiện tại 2 commit, ghi đè lên staging area và working directory. Thao tác này không thể hoàn tác, bạn sẽ mất tất cả thay đổi sau commit đó.

Cảnh báo: Sử dụng git reset không đúng cách có thể dẫn đến mất dữ liệu, vì vậy hãy cẩn thận và đảm bảo bạn hiểu rõ tác động của nó trước khi sử dụng.

14. Git Checkout

git Checkout là một lệnh truyền thống được sữ dụng nhiều dùng để chuyển đổi các nhánh với nhau, khi dùng checkout thì sẽ copy code và chuyển sang nhánh bạn muốn, như vậy sẽ dễ gây lỗi code hãy đảm bảo bạn đã commit code trong nhánh đó trước khi chuyển

  • Chuyển đổi các nhánh
git checkout <tên nhánh>
  • Tạo nhánh mới và chuyển sang nhánh đó
git checkout -b <tên nhánh mới>
  • Khôi phục toàn bộ working directory về trạng thái từ commit trước đó (có thể gây mất dữ liệu, nên cẩn thận)
git checkout <commit>

Ưu điểm:

  • Linh hoạt, cung cấp nhiều chức năng trong một lệnh.

Nhược điểm:

  • Dễ gây nhầm lẫn do có nhiều chức năng.
  • Có thể gây mất dữ liệu nếu sử dụng sai cách.

15. Git Switch

git switch là lệnh mới được giới thiệu trong Git phiên bản 2.23, tập trung vào chức năng chuyển đổi giữa các branch một cách rõ ràng và an toàn hơn. Git switch có thể nói như 1 bản mini của Git Checkout có nhưng tính năng đúng như cái tên chỉ chuyển nhánh và không thây đổi gì về code

  • Chuyển đổi các nhánh
git switch <tên nhánh>
  • Tạo nhánh mới và chuyển sang nhánh đó
git switch -b <tên nhánh mới>

Ưu điểm:

  • Dễ hiểu và sử dụng hơn git checkout khi chuyển đổi branch.
  • An toàn hơn, hạn chế rủi ro mất dữ liệu.

BẢNG SO SÁNH NHỎ GIỮA GITCHECKOUTGITSWITCH

Tính năng git checkout git switch
Chuyển đổi nhánh
Tạo nhánh mới Có (git checkout -b <nhánh>) Có (git switch -c <nhánh>)
Khôi phục file từ staging area Có (git checkout -- <tệp>) Không
Khôi phục file từ commit Có (git checkout <commit> -- <tệp>) Không
Khôi phục thay đổi từ stash Có (git checkout -p <stash>) Không
Rõ ràng về mục đích Thấp (nhiều chức năng) Cao (chỉ tập trung vào chuyển đổi nhánh)
Độ an toàn Thấp (có thể gây mất dữ liệu nếu dùng sai) Cao (ít rủi ro hơn)


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí