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 - (2 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 - (2 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 votes
    Đánh giá bài viết
    Subscribe
    Notify of
    guest
    0 Góp ý
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments

    BÀI VIẾT LIÊN QUAN

    KOL Summit 2026

    Ngày 07/09/2026, tôi có cơ hội tham dự Hội nghị KOL toàn quốc lần thứ II – KOL Summit 2026 tại Thisky Hall Sala, TP.HCM với chủ đề “KOL với hành trình kiến tạo niềm tin số”. Sự kiện do Liên minh Niềm tin số dẫn dắt, dưới sự bảo trợ của Bộ Công an,…

    15/09/2026

    Conviction 2026: Ký kết hợp tác giữa Chống Lừa Đảo x Ninety Eight

    Ngày 14/08/2026, trong khuôn khổ Ngày hội Công nghệ TP.HCM – Conviction 2026, tôi rất vinh dự được cùng đội ngũ Chống Lừa Đảo tham gia lễ ký kết Biên bản ghi nhớ hợp tác (MOU) với Ninety Eight – hệ sinh thái công nghệ blockchain tại Việt Nam. Đây là một cột mốc ý…

    14/08/2026

    Tham gia Hội nghị KOL & Lễ ra mắt Câu lạc bộ Niềm Tin Số TP.HCM: Chung tay xây dựng không gian mạng xanh, sạch và có trách nhiệm

    Ngày 10/08/2026, tôi vinh dự tham dự Hội nghị KOL & Lễ ra mắt Câu lạc bộ Niềm Tin Số TP.HCM do Công an TP.HCM phối hợp cùng các đơn vị liên quan tổ chức. Chương trình quy tụ đại diện Cục An ninh mạng và Phòng, chống tội phạm sử dụng công nghệ cao…

    11/08/2026

    Hướng dẫn chi tiết cách tạo VPS Swap Linux
    Hướng dẫn chi tiết cách tạo VPS Swap Linux

    Swap File trên VPS Linux là một vùng bộ nhớ ảo được cấu hình trên ổ đĩa, đóng vai trò hỗ trợ hệ thống khi dung lượng RAM vật lý bị quá tải. Qua quá trình trực tiếp tối ưu hóa máy chủ và xử lý sự cố tràn RAM cho khách hàng, mình nhận…

    09/06/2026

    linux

    system-linux

    text