Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn xóa thư mục khỏi Git trên Linux chi tiết và nhanh chóng

    Nguyễn Hưng

    Ngày đăng:

    06/02/2026

    Cập nhật lần cuối:

    06/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    06/02/2026

    Cập nhật lần cuối:

    06/02/2026

    Mục lục

    Trong quá trình làm việc với Git trên Linux, không ít trường hợp bạn cần loại bỏ một thư mục khỏi repository vì không còn sử dụng, chứa dữ liệu tạm thời hoặc không nên đưa lên source code. Tuy nhiên, Git không quản lý thư mục trống mà chỉ theo dõi từng file, nên việc xóa thư mục cần thực hiện đúng cách để tránh sót dữ liệu hoặc gây lỗi khi commit. Bài viết dưới đây sẽ hướng dẫn bạn cách xóa thư mục khỏi Git trên Linux nhanh chóng.

    Những điểm chính

    • Lý do cần xóa thư mục khỏi Git: Hiểu được lý do và tầm quan trọng của việc xóa thư mục để giữ cho dự án gọn gàng, dễ bảo trì và đảm bảo tính nhất quán trong lịch sử phát triển.
    • Các cách xóa thư mục khỏi Git: Nắm vững 3 phương pháp xóa thư mục chính: Chỉ xóa khỏi Git (giữ lại trên máy), xóa hoàn toàn khỏi cả Git và máy, và xóa khỏi Git đồng thời thêm vào .gitignore để bỏ qua vĩnh viễn.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề thực tế như cách khôi phục thư mục bị xóa nhầm, rủi ro khi không sao lưu và cách tự động ignore nhiều thư mục cùng lúc.

    Vì sao cần xóa thư mục khỏi Git trên Linux

    Việc xóa thư mục khỏi Git trên Linux là bước quan trọng giúp dọn dẹp và tối ưu kho lưu trữ (repository). Trong quá trình phát triển, bạn có thể vô tình commit các thư mục tạm, file cá nhân hoặc dữ liệu nhạy cảm. Nếu không loại bỏ kịp thời, chúng sẽ khiến repository trở nên cồng kềnh, kém chuyên nghiệp và tiềm ẩn rủi ro bảo mật.

    Dưới đây là những lý do phổ biến khiến bạn nên xóa thư mục khỏi Git:

    • Loại bỏ file không cần thiết (dọn dẹp repository): Tránh để Git theo dõi các thư mục rác như node_modules/, build/, logs/, cache/… vốn làm tăng dung lượng repo và gây nhiễu khi xem lịch sử git log.
    • Bảo vệ thông tin nhạy cảm: Xóa các file chứa mật khẩu, khóa API, chứng chỉ bảo mật hoặc cấu hình riêng (.env, .pem, .key…) nhằm hạn chế nguy cơ lộ dữ liệu khi public repository trên GitHub/GitLab.
    • Khắc phục lỗi git add nhầm: Khi vô tình dùng git add . và thêm cả những thư mục không nên commit, việc xóa thư mục khỏi Git giúp sửa sai nhanh chóng.
    • Nâng cao tính chuyên nghiệp của dự án: Loại bỏ file test, thư mục thực hành, dự án cũ hoặc file tạm giúp repository gọn gàng, dễ đọc hơn cho đồng nghiệp, khách hàng hoặc nhà tuyển dụng.
    • Quản lý cache Git hiệu quả: Giải quyết trường hợp file đã bị xóa trên máy cục bộ nhưng Git vẫn tiếp tục theo dõi do còn tồn tại trong index (cache).
    Xóa thư mục khỏi Git trên Linux là một thao tác quan trọng giúp tối ưu hóa quản lý dự án phần mềm
    Xóa thư mục khỏi Git trên Linux là một thao tác quan trọng giúp tối ưu hóa quản lý dự án phần mềm (Nguồn: Internet)

     1. Xóa thư mục khỏi Git nhưng giữ lại trên máy cục bộ

    Nếu bạn muốn Git ngừng theo dõi thư mục nhưng vẫn giữ thư mục đó để sử dụng cục bộ, bạn hãy dùng lệnh:

    git rm -r --cached ten_thu_muc/

    Giải thích:

    •     -r: Xóa đệ quy toàn bộ nội dung bên trong thư mục.
    •     –cached: Chỉ xóa khỏi Git index, không xóa trên hệ thống file.

    Sau đó, bạn cần thực hiện tiếp các bước sau để cập nhật thay đổi lên kho lưu trữ từ xa (remote repo):

    git commit -m "Xóa thư mục khỏi git nhưng giữ local"
    git push

    Trường hợp sử dụng: Phù hợp khi cần loại bỏ các thư mục như node_modules, venv/, logs/ khỏi Git nhưng vẫn cần sử dụng cục bộ.

    2. Xóa thư mục khỏi Git và thư mục local

    Nếu bạn muốn xóa hoàn toàn thư mục khỏi cả Git và hệ thống file, hãy chạy lệnh sau:

    git rm -r ten_thu_muc/

    Lúc này, Git sẽ đánh dấu thư mục (và các file bên trong) để xóa trong commit kế tiếp. Sau đó bạn thực hiện commit:

    git commit -m "Xóa hoàn toàn thư mục khỏi Git"
    git push

    Lưu ý

    Hành động này sẽ xóa vĩnh viễn thư mục khỏi cả local và lịch sử Git sau khi push.

    3. Xóa thư mục khỏi Git và ignore vĩnh viễn

    Sau khi xóa thư mục, nếu không muốn Git theo dõi lại thư mục đó, bạn nên thêm vào file .gitignore với các bước sau:

    git rm -r --cached ten_thu_muc/
    echo ten_thu_muc/ >> .gitignore
    git add .gitignore
    git commit -m "Xóa thư mục khỏi Git và ignore vĩnh viễn"
    git push

    Cách này đảm bảo Git sẽ bỏ qua hoàn toàn thư mục trong các lần commit sau.

    Ví dụ: Bạn có một thư mục work_day/ tạo ra từ quá trình biên dịch và bạn không muốn thư mục này xuất hiện trong Git.

    Bước 1: Để xóa Vietnix_work khỏi Git nhưng vẫn giữ thư mục này trên máy tính, bạn thực hiện lệnh sau:

    git rm -r --cached Vietnix_work/

    Bước 2: Bạn chạy lệnh sau để thêm tên thư mục vào file .gitignore để Git bỏ qua khi commit sau này:

    echo Vietnix_work/ >> .gitignore

    Bước 3: Bạn commit cập nhật file .gitignore lên repository:

    git add .gitignore
    git commit -m "Bỏ Vietnix_work/ khỏi Git và thêm vào ignore"
    git push

    Khi đó, thư mục Vietnix_work sẽ bị xóa khỏi kho lưu trữ Git, giữ nguyên trên máy bạn và sau này Git sẽ không theo dõi/commit lại thư mục này mỗi khi bạn cập nhật dự án.

    Xóa thư mục khỏi Git và ignore vĩnh viễn
    Xóa thư mục khỏi Git và ignore vĩnh viễn

    Câu hỏi thường gặp

    Nếu lỡ xóa nhầm thư mục khỏi Git, có cách nào khôi phục lại không?

    Bạn có thể sử dụng lệnh git checkout hoặc git restore để khôi phục lại thư mục đã bị xóa nếu chưa push lên remote. Nếu đã push lên remote, bạn cần kiểm tra lại lịch sử commit với lệnh git log, sau đó sử dụng git reset hoặc phục hồi từ commit cũ.

    Có rủi ro nào khi xóa thư mục khỏi Git mà chưa backup dữ liệu không?

    Bạn có thể mất toàn bộ dữ liệu nếu xóa cả trên local lẫn Git, khó phục hồi nếu đã push. Vì vậy bạn hãy backup thư mục quan trọng ra Cloud, ổ cứng rời,… trước khi thao tác xóa.

    Có thể tự động ignore nhiều thư mục cùng lúc thay vì thao tác thủ công từng cái không?

    Bạn có thể thêm nhiều dòng tên thư mục vào file .gitignore hoặc dùng các mẫu ký tự đại diện như *.log/ để bỏ qua nhóm thư mục/file cùng kiểu.

    Việc xóa thư mục khỏi Git đúng cách giúp repository gọn gàng, tránh commit những dữ liệu không cần thiết và giảm rủi ro lộ thông tin. Tùy từng tình huống, bạn có thể lựa chọn xóa khỏi Git, xóa hoàn toàn hoặc kết hợp với .gitignore để kiểm soát chặt chẽ hơn. Nắm vững các lệnh git rm sẽ giúp bạn quản lý source code chuyên nghiệp và hiệu quả hơn trong quá trình làm việc với Git.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Phân biệt toán tử && vs semicolon bash trong Linux chi tiết
    Phân biệt toán tử && vs semicolon bash trong Linux chi tiết

    Trong Bash, && và semicolon (;) đều dùng để nối nhiều lệnh trên một dòng, nhưng có cách thực thi khác nhau. Cụ thể, dấu ; luôn thực thi lệnh tiếp theo dù lệnh trước thành công hay thất bại, còn && chỉ chạy lệnh sau khi lệnh trước thực thi thành công, giúp kiểm…

    06/02/2026

    7 cách để check local IP Linux chi tiết trên Debian/Ubuntu
    7 cách để check local IP Linux chi tiết trên Debian/Ubuntu

    Khi làm việc với server hoặc máy trạm, biết cách check local IP Linux giúp bạn chủ động trong việc cấu hình dịch vụ, phân tích lỗi mạng và tăng cường bảo mật cho hệ thống. Bài viết này sẽ hướng dẫn chi tiết nhiều cách kiểm tra IP cục bộ qua terminal trên Debian/Ubuntu,…

    06/02/2026

    UID Linux là gì? Tầm quan trọng và cách lấy tên người dùng từ UID
    UID Linux là gì? Tầm quan trọng và cách lấy tên người dùng từ UID

    UID trong Linux là mã số định danh giúp hệ điều hành nhận biết và phân biệt từng tài khoản người dùng, từ đó áp dụng quyền truy cập và quản lý tài nguyên một cách chính xác. Trong bài viết này, bạn sẽ tìm hiểu chi tiết khái niệm, cách lưu trữ, tra cứu…

    06/02/2026

    Cách sử dụng fping để kiểm tra trạng thái của nhiều host cùng lúc
    Cách sử dụng fping để kiểm tra trạng thái của nhiều host cùng lúc

    fping là phiên bản mở rộng của lệnh ping, được dùng để kiểm tra trạng thái của nhiều địa chỉ IP hoặc domain cùng lúc nhanh chóng. Trong bài viết này, mình sẽ cung cấp một hướng dẫn toàn diện về fping, từ việc định nghĩa, cài đặt, cho đến cách khai thác các tính…

    06/02/2026

    linux

    system-linux

    text