Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Thành Thạo git rm: Hướng Dẫn Hoàn Chỉnh Xóa File Khỏi Repository

Lệnh git rm xóa file khỏi repository Git. Lệnh này xóa file khỏi hệ thống file và sau đó xóa nó khỏi danh sách file được theo dõi bởi repository Git. Cờ --cached cho phép xóa file khỏi repository Git mà không xóa nó trên hệ thống file.

Làm thế nào để xóa file khỏi repository Git? Đó là câu hỏi hay. Không phải lúc nào bạn cũng muốn file là một phần của repository mãi mãi. Bạn có thể quyết định file không còn cần thiết cho dự án, và do đó muốn xóa nó khỏi repository Git.

Để xóa file khỏi repository Git, bạn dùng lệnh git rm. Nó là đối lập của lệnh git add; nó xóa file.

Trong hướng dẫn này, chúng ta thảo luận cách dùng lệnh git rm. Chúng ta đi qua ví dụ git rm để chỉ cách nó hoạt động. Hãy bắt đầu!

Cách File Được Quản Lý Trong Git

Trước khi thảo luận cách dùng git rm, chúng ta cần hiểu cách file được quản lý trong hệ thống kiểm soát phiên bản Git.

File bên trong repository Git có thể là tracked (được theo dõi) hoặc untracked (không được theo dõi).

Tracked files là file đã bao gồm trong git commit. Untracked files là file chưa commit vào repository. Thông thường, untracked files là file bạn tạo trước khi tạo commit.

Để thêm file vào Git commit, dùng lệnh git add. Điều này làm nó thành tracked file. Nếu muốn ngừng file được theo dõi, dùng lệnh git rm.

Lệnh git rm xóa file hoặc nhóm file khỏi repository Git. File bị xóa khỏi cả máy và repository Git. Để bảo toàn file trên máy cục bộ, dùng cờ --cached.

Mặc định không cờ, lệnh này xóa file khỏi cả repository Git và thư mục làm việc cục bộ. Nghĩa là nó xóa file, giống lệnh Linux rm xóa file khỏi máy tính.

Cách đơn giản nhất dùng lệnh này là xóa file. Hãy xóa file settings.json khỏi repository Git:

Lệnh này xóa settings.json khỏi khu vực theo dõi repository. Bạn dùng lệnh này để xóa nhiều file. Làm vậy, tách tên file hoặc thư mục muốn xóa bằng dấu cách:

git rm settings.json .env

Điều này xóa file settings.json và .env khỏi repository.

Mặc định, Git thực hiện kiểm tra an toàn khi chạy lệnh rm để unstage và xóa path. Điều này đảm bảo file trên nhánh hiện tại giống file trong staging index. Bạn ghi đè hành vi này dùng cờ -f hoặc --force:

Bạn chỉ nên dùng cờ -f khi chắc chắn muốn xóa file. Ngược lại, xung đột merge có thể xảy ra sau. Nếu xảy ra, dùng hướng dẫn giải quyết xung đột merge của chúng tôi.

Git rm --cached

Cờ Git rm --cached xóa file khỏi khu vực staging. File từ thư mục làm việc vẫn nguyên vẹn. Nghĩa là bạn vẫn có bản sao file cục bộ. File bị xóa khỏi index theo dõi dự án Git.

Hãy xóa file working tree settings.json khỏi repository nhưng giữ nó trong thư mục dự án:

git rm --cached settings.json

Khi push commit tiếp theo, file settings.json sẽ bị xóa.

Miễn file tồn tại trong thư mục làm việc cục bộ, bạn có thể thêm lại vào repository Git. Làm bằng lệnh git add. Đọc thêm về git add trong hướng dẫn lệnh git add.

Cách Hoàn Tác Lệnh git rm

Lệnh git rm chỉ cập nhật khu vực staging và thư mục làm việc cho đến khi commit được làm. Nghĩa là bạn hoàn tác lệnh. Để hoàn tác git rm, reset repository về commit cuối dùng git reset:

Git HEAD commit đại diện commit cuối trong repository. Vì vậy lệnh này revert repository về commit cuối.

Bạn hoàn tác git rm ngay cả khi đã commit thay đổi vào repository. Làm bằng lệnh git reset và chỉ định hash commit bạn muốn revert:

git reset a7e3cce9637c74281e6590003b39d3990bbb2731

Chúng ta revert repository về commit trước. Chuỗi ký tự sau "reset" là hash cho commit cuối.

Khi revert repository, chúng ta xem repository trông như trước commit. Nghĩa là file vẫn staged. Nói cách khác, lệnh git rm đã được hoàn tác.

Git rm vs. rm

Lệnh git rm xóa file khỏi cả máy làm việc và repository Git. Lệnh rm, mặt khác, không xóa file khỏi repository Git.

Nếu muốn xóa file khỏi repository Git, bạn phải dùng git rm. Vì lệnh git rm thực thi hướng dẫn xóa file khỏi repository Git. Không phải file nào trên hệ thống Linux cũng ở trong repository Git, nên lệnh Linux rm không xóa file khỏi repository Git.

Kết Luận

Lệnh git rm cho phép xóa file khỏi repository Git và thư mục làm việc. Nếu chỉ muốn xóa file khỏi repository Git, dùng cờ --cached.

Thành Thạo git rm: Hướng Dẫn Hoàn Chỉnh Xóa File Khỏi Repository

"Career Karma xuất hiện trong cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi tìm thấy bootcamp phù hợp. Hai tháng sau khi tốt nghiệp, tôi tìm được công việc mơ ước phù hợp với giá trị và mục tiêu cuộc sống!"

Venus, Kỹ sư phần mềm tại Rockbot

Tìm Bootcamp Của Bạn

Bây giờ bạn sẵn sàng dùng lệnh git rm như chuyên gia dòng lệnh!

Để tìm hiểu thêm làm việc với Git, đọc hướng dẫn How to Learn Git của chúng tôi.