Với Git được cài đặt và định cấu hình, bạn đã sẵn sàng bắt đầu làm việc với các kho lưu trữ. Phần này đề cập đến việc tạo kho lưu trữ, tìm hiểu quy trình làm việc Git cơ bản và tạo commit đầu tiên của bạn.
Tạo kho lưu trữ Git
Bạn có thể tạo kho lưu trữ Git theo hai cách: khởi tạo kho lưu trữ mới hoặc sao chép kho lưu trữ hiện có.
Khởi tạo một kho lưu trữ mới
Để tạo kho lưu trữ Git mới trong thư mục dự án của bạn:
- Điều hướng đến thư mục dự án của bạn:
cd /path/to/your/project
- Khởi tạo kho lưu trữ:
git init
Điều này tạo ra một thư mục con .git chứa tất cả các tệp kho lưu trữ cần thiết – bộ xương của kho lưu trữ Git của bạn.
Sau khi chạy lệnh này, bạn sẽ thấy kết quả tương tự như:
Initialized empty Git repository in /path/to/your/project/.git/
Các tập tin hiện có của bạn không được theo dõi tự động. Để bắt đầu theo dõi chúng, bạn sẽ cần thêm và commit chúng (được đề cập trong phần tiếp theo).
Nhân bản một kho lưu trữ hiện có
Nếu bạn muốn lấy bản sao của kho lưu trữ Git hiện có, hãy sử dụng lệnh git clone:
git clone https://github.com/username/repository.git
Thao tác này sẽ tạo một thư mục có tên kho lưu trữ, khởi tạo thư mục .git bên trong nó, tải xuống tất cả dữ liệu kho lưu trữ và kiểm tra bản sao hoạt động của phiên bản mới nhất.
Để sao chép kho lưu trữ vào một thư mục có tên khác:
git clone https://github.com/username/repository.git my-project
Git hỗ trợ một số giao thức truyền tải:
- HTTPS:
https://github.com/username/repository.git - SSH:
git@github.com:username/repository.git - Giao thức Git:
git://github.com/username/repository.git
SSH thường được sử dụng để phát triển vì nó cho phép xác thực an toàn mà không cần nhập thông tin xác thực mỗi lần.
Cấu trúc kho lưu trữ
Sau khi khởi tạo kho lưu trữ, Git tạo một thư mục .git ẩn chứa mọi thứ Git cần để theo dõi dự án của bạn:
config: Cấu hình dành riêng cho kho lưu trữHEAD: Tham chiếu đến nhánh hiện tại- Thông tin
index: vùng staging objects/: Cơ sở dữ liệu về tất cả các tệp của bạn và commitrefs/: Con trỏ tới các đối tượng commit (nhánh, thẻ, v.v.)
Nhìn chung, bạn sẽ không tương tác trực tiếp với các tệp này nhưng việc hiểu những gì đang diễn ra ở hậu trường có thể giúp bạn sử dụng Git hiệu quả hơn.
Tệp .gitignore
Nhiều dự án chứa các tệp mà Git không nên theo dõi, chẳng hạn như:
- Xây dựng artifact
- Thư mục phụ thuộc
- Các tập tin môi trường có bí mật
- Tệp cấu hình dành riêng cho người dùng
- Tệp nhật ký
Bạn có thể yêu cầu Git bỏ qua các tệp này bằng cách tạo tệp .gitignore:
touch .gitignore
Chỉnh sửa tệp này để chỉ định mẫu cho tệp bạn muốn bỏ qua:
# Compiled files
*.class
*.o
*.pyc
# Logs
*.log
log/
# Build directories
build/
dist/
# Environment-specific files
.env
.env.local
node_modules/
Git sẽ không theo dõi bất kỳ tệp nào khớp với các mẫu này. Bản thân tệp .gitignore thường phải được Git theo dõi.
Hiểu trạng thái kho lưu trữ
Mọi tệp trong thư mục làm việc của bạn có thể ở một trong hai trạng thái: được theo dõi hoặc không bị theo dõi.
Các tệp được theo dõi là các tệp mà Git biết. Họ có thể là:
- Chưa sửa đổi: khớp với commit cuối cùng
- Đã sửa đổi: đã thay đổi kể từ commit cuối cùng
- đã đưa vào staging: được đánh dấu để chuyển sang commit tiếp theo của bạn
Các tệp không bị theo dõi là mọi thứ khác – bất kỳ tệp nào trong thư mục làm việc không có trong ảnh chụp nhanh cuối cùng của bạn và không có trong vùng staging của bạn.
Khi bạn chỉnh sửa tệp, Git sẽ xem chúng như đã được sửa đổi. Sau đó, bạn thực hiện các thay đổi này và commit đã đưa vào staging thay đổi và chu trình lặp lại.
Tóm tắt quy trình làm việc Git cơ bản
Dưới đây là bản tóm tắt nhanh về quy trình làm việc Git cơ bản:
- Sửa đổi tệp trong thư mục làm việc của bạn
- Giai đoạn thực hiện các thay đổi bạn muốn đưa vào commit tiếp theo của mình
- commit đã đưa vào staging thay đổi, tạo ảnh chụp nhanh trong lịch sử kho lưu trữ của bạn
Bây giờ bạn đã hiểu cách tạo kho lưu trữ, hãy chuyển sang theo dõi các thay đổi và tạo commit trong phần tiếp theo.