Git là một hệ thống quản lý phiên bản mạnh mẽ, cho phép các nhà phát triển theo dõi và quản lý các thay đổi trong mã nguồn. Việc nắm vững các lệnh Git cơ bản sẽ giúp bạn làm việc hiệu quả hơn trong các dự án phát triển phần mềm. Trong bài viết này, chúng ta sẽ khám phá các lệnh Git phổ biến nhất, cùng với cách sử dụng và các ví dụ cụ thể cho từng lệnh.
Lệnh git init
được sử dụng để khởi tạo một kho lưu trữ Git mới. Kho lưu trữ này có thể là một dự án mới hoặc một thư mục có sẵn mà bạn muốn bắt đầu theo dõi.
Để sử dụng lệnh này, bạn mở terminal và điều hướng đến thư mục mà bạn muốn khởi tạo:
cd đường/dẫn/đến/thư/mục git init
Lệnh này sẽ tạo một thư mục con .git
trong thư mục hiện tại, nơi Git sẽ lưu trữ tất cả thông tin về kho lưu trữ.
Lệnh git clone
được sử dụng để sao chép một kho lưu trữ từ xa (remote repository) về máy tính cục bộ của bạn. Đây là cách phổ biến để bắt đầu làm việc với các dự án mã nguồn mở.
Để sao chép một kho lưu trữ, bạn cần có đường dẫn đến kho lưu trữ đó (thường là URL). Ví dụ:
git clone https://github.com/username/repo.git
Lệnh này sẽ tạo một bản sao của kho lưu trữ và tất cả các nhánh của nó vào thư mục mới có tên repo
.
Lệnh git status
được sử dụng để kiểm tra trạng thái của kho lưu trữ, cho biết các thay đổi hiện tại, các tệp đã được theo dõi, và tình trạng của các nhánh.
Bạn chỉ cần chạy lệnh sau trong thư mục dự án:
git status
Kết quả sẽ hiển thị các tệp đã thay đổi, các tệp chưa được theo dõi, và nhánh hiện tại mà bạn đang làm việc.
Lệnh git add
được sử dụng để thêm các tệp vào staging area, nơi chúng sẽ được chuẩn bị để commit.
Để thêm một tệp cụ thể, bạn sử dụng:
git add ten-tap-tin
Để thêm tất cả các tệp đã thay đổi:
git add .
Sau khi thực hiện lệnh này, các tệp sẽ được đưa vào staging area, sẵn sàng để commit.
Lệnh git commit
được sử dụng để lưu các thay đổi đã được thêm vào staging area vào lịch sử kho lưu trữ.
Khi bạn đã thêm các tệp cần thiết, bạn có thể thực hiện commit bằng lệnh sau:
git commit -m "Thông điệp commit mô tả thay đổi"
Thông điệp commit nên mô tả ngắn gọn về các thay đổi mà bạn đã thực hiện.
Lệnh git push
được sử dụng để đẩy các thay đổi đã commit từ kho lưu trữ cục bộ lên kho lưu trữ từ xa.
Để đẩy các thay đổi lên nhánh chính của kho lưu trữ từ xa (thường là origin
), bạn sử dụng:
git push origin main
Thay main
bằng tên nhánh mà bạn muốn đẩy thay đổi lên.
Lệnh git pull
được sử dụng để lấy và hợp nhất các thay đổi từ kho lưu trữ từ xa về kho lưu trữ cục bộ của bạn. Lệnh này thực hiện hai hành động: git fetch
và git merge
.
Để lấy các thay đổi từ kho lưu trữ từ xa và hợp nhất chúng vào nhánh hiện tại, bạn sử dụng:
git pull origin main
Lệnh git branch
được sử dụng để quản lý các nhánh trong kho lưu trữ Git. Bạn có thể liệt kê, tạo hoặc xóa các nhánh.
Để xem danh sách các nhánh hiện có, sử dụng:
git branch
Để tạo một nhánh mới:
git branch ten-nhanh-moi
Để xóa một nhánh:
git branch -d ten-nhanh
Lệnh git checkout
được sử dụng để chuyển giữa các nhánh hoặc để khôi phục các tệp tin về trạng thái trước đó.
Để chuyển sang một nhánh khác:
git checkout ten-nhanh
Để khôi phục một tệp tin về trạng thái trước đó:
git checkout -- ten-tap-tin
Lệnh git merge
được sử dụng để hợp nhất các thay đổi từ một nhánh khác vào nhánh hiện tại.
Để hợp nhất một nhánh vào nhánh hiện tại, bạn trước tiên cần chuyển sang nhánh mà bạn muốn hợp nhất vào, sau đó sử dụng:
git merge ten-nhanh
Lệnh git log
được sử dụng để xem lịch sử commit của kho lưu trữ.
Chỉ cần chạy lệnh:
git log
Bạn sẽ thấy danh sách các commit, bao gồm mã hash, tác giả, ngày tháng, và thông điệp commit.
Lệnh git reset
được sử dụng để hoàn tác các thay đổi trong kho lưu trữ.
Để hoàn tác một commit gần nhất nhưng giữ lại thay đổi trong staging area, bạn sử dụng:
git reset --soft HEAD~1
Để hoàn tác một commit và xóa cả thay đổi trong staging area, sử dụng:
git reset --hard HEAD~1
Nắm vững các lệnh Git cơ bản là rất quan trọng để làm việc hiệu quả trong môi trường phát triển phần mềm. Các lệnh này không chỉ giúp bạn theo dõi và quản lý các thay đổi trong mã nguồn mà còn giúp bạn làm việc tốt hơn với các thành viên trong nhóm. Hãy thực hành thường xuyên để trở nên thành thạo hơn với Git và tối ưu hóa quy trình làm việc của bạn.