Bỏ theo dõi một thư mục đã được thêm vào Git ở commit trước

Trong một dự án hiện tại em đang làm có một thư mục có tên là cache dùng để lưu trữ tạp thời các tập tin dùng trong quá trình chạy ứng dụng. Trước đó khi tạo một commit do không chú ý nên em đã lỡ thêm tập tin này vào Git sau khi chạy câu lệnh dưới đây:

$ git add --all .

Và sau đó tạo commit mà không kiểm tra lại:

$ git commit -m "..."

Bây giờ mỗi lần chạy ứng dụng thì thư mục cache lại được thêm vào các tập tin mới do đó ở commit tiếp theo thì em phải thêm thủ công từng tập tin và thư mục vào Git trước khi commit.

$ git add file_1 file_2 file_3...

Làm cách nào để có thể xoá tập tin cache ra khỏi Git (nhưng vẫn giữ ở trên máy local) rồi sau đó thiết lập để Git bỏ qua thư mục này (sử dụng .gitignore) vậy các bác?

Được hỏi 1 năm trước
Bình chọn bởi: Thủy Ruby, Lê Bình, Minh Phạm, Lê Huyền Trang, Quỳnh Anh, Đinh Quang Huy, Diệu Yến, Vũ Văn Tuấn, Huyền SuBy, Hà Anh, Phúc Lê, Tram Anh, Hoàng Giang, Phạm Huy, Quang Nguyen, Khoi Tran, Giang River, Trần Hoan, Bin Phan, Vũ Huy Hoàng, Vũ Văn Tân, Yanell Bự, Duc Otore, Torrest Vũ, Bao Ngoc, Nguyen Thuy Trang, Hanh Kute, Bảo Davis, Huyền Cano, Nguyen Duy

Đầu tiên bạn chuyển vào thư mục gốc của dự án:

$ cd app_path

Để xoá thư mục cache ra khỏi Git nhưng vẫn giữ trên máy local:

$ git rm --cache path_to/cache

Thay path_to ở câu lệnh trên bằng điạ chỉ đường dẫn tới thư mục cache trên máy tính của bạn.

Thêm thay đổi này vào Git:

$ git add --all .

Và tạo một commit:

$ git commit -m 'Xoá thư mục "cache"'

Cuối cùng thêm cache vào .gitignore để Git không theo dõi thay đổi tạo ra trên chính thư mục này và bên trong thư mục này:

$ echo "path_to/cache" >> .gitignore

Và bạn cũng cần tạo commit mới khi thay đổi nội dung của .gitignore:

$ git add .gitignore && git ci -m 'Bỏ theo dõi "cache"'
Trả lời 3 ngày trước

Thêm Trả Lời