Vì lý do nào đó, khi tôi thực hiện một lần kéo từ kho lưu trữ cho một dự án git của tôi, Tôi nhận được rất nhiều tập tin trong bản sao làm việc của mình mà không có thay đổi rõ ràng nào được thực hiện cho họ, nhưng vẫn hiển thị trong khu vực unstaged changes
của tôi .Làm cách nào để xóa các tệp có tên "chế độ cũ 100755 chế độ mới 100644" khỏi các thay đổi chưa được chỉnh sửa trong Git?
Tôi đang sử dụng Git Gui trên Windows xp và khi tôi đi xem tệp để xem điều gì đã thay đổi. Tất cả những gì tôi thấy là:
old mode 100755
new mode 100644
Có ai biết điều này có nghĩa là gì không?
Làm cách nào để có được các tệp này trong danh sách các thay đổi không được tổ chức? (Rất khó chịu khi phải trải qua 100 tệp, chỉ cần chọn các tệp tôi vừa mới chỉnh sửa và muốn cam kết).
+1. Điều này có nghĩa là git nghĩ rằng nó có thể thiết lập chính xác bit thực thi trên các tệp đã kiểm xuất, nhưng khi nó cố gắng làm như vậy nó không hoạt động (hoặc ít nhất là không theo cách nó có thể đọc). Khi nó đọc lại trạng thái của các tệp đó, có vẻ như bit thực thi đã được bỏ cố ý. Việc đặt core.filemode thành false sẽ yêu cầu git bỏ qua bất kỳ thay đổi bit thực thi nào trên hệ thống tệp để nó không xem đây là thay đổi. Nếu bạn cần thực hiện thay đổi bit thực thi, điều đó có nghĩa là bạn phải tự thực hiện 'git update-index --chmod = (+ | -) x'. –
Nếu, như tôi, các thay đổi chế độ rất quan trọng, bạn có thể đặt core.filemode thành false, cam kết thay đổi mã thực tế của bạn, sau đó đặt core.filemode thành true và git sẽ giữ nguyên các thay đổi của tệp. –
Tôi có cùng một vấn đề, nhưng đó là do sử dụng cùng một git repro thông qua SSH git cmd dòng, và thông qua Git Extensions trên một ổ đĩa được ánh xạ trong Windows! . . Giải pháp là như nhau, được thêm vào "config" [core] filemode = false –