2012-01-27 26 views
6

Đây là vấn đề cơ bản: git dường như đánh dấu tất cả các tệp của tôi là đã thay đổi, mặc dù không có thay đổi. Ngay cả những khác biệt không hiển thị bất kỳ sự khác biệt, vẫn còn nó muốn tôi dàn dựng/cam kết tất cả các tập tin một lần nữa. Làm thế nào tôi có thể thuyết phục git rằng không có thay đổi theo cách vẫn theo dõi các thay đổi được thực hiện từ thời điểm đó?git đánh dấu các tệp không thay đổi khi đã thay đổi

Tôi có kho lưu trữ git mà tôi chỉnh sửa trên hai máy tính riêng biệt (cả hai đều là máy Mac). Tôi sử dụng để chuyển chúng bằng cách sử dụng hình ảnh hệ thống tập tin được mã hóa trên thanh USB và được sao chép bằng rsync. Khi tôi chuyển các tập tin vào máy tính xách tay của tôi, tất cả các tập tin được đánh dấu là thay đổi. Nếu tôi chỉ bỏ qua git và làm việc trên các tập tin, rsync'ing nó trở lại, các máy khác sẽ nhận ra chính xác chỉ các tập tin thay đổi một lần nữa. Vì vậy, nó sorta hoạt động, nhưng nó thực sự bất tiện để làm việc trên máy tính xách tay của tôi khi tôi không thể cam kết thay đổi của tôi cho đến khi tôi trở lại máy khác như sau đó tôi sẽ phải cam kết một số thay đổi trong một checkin duy nhất.

Trả lời

5

Biến nó không phải là kết thúc của dòng. Tôi nghi ngờ rằng giải pháp như tôi giả định rằng git sau đó sẽ cho thấy tất cả các dòng như thay đổi - mà nó không. Nhưng hôm nay tôi vấp phải một mục nhỏ đã đăng nhập khi tôi kiểm tra các tập tin ở máy của tôi - quyền truy cập tập tin đã được thay đổi từ 644 đến 755 (hoặc ngược lại) trong khi đang được chuyển giữa các máy.

Giải pháp là ngay tại đây trên stackoverflow trong câu hỏi này:How do I make git ignore mode changes (chmod)?

+0

Cảm ơn bạn rất nhiều! – glaz666

3

Tôi sẽ kiểm tra xem kết thúc dòng có bị thay đổi trong quá trình truyền hay không. Trong khi điều này có thể là một nỗi đau thực sự để giải quyết, bạn có thể giúp kiểm soát nó bằng cách sử dụng tùy chọn core.autocrlf, như được mô tả trong this question.

Tôi cũng chắc chắn sẽ kiểm tra GitHub's help section on line endings, vì nó có một số lời khuyên tốt về xử lý loại vấn đề này (giả định rằng nó thực sự là vấn đề của bạn).

Các vấn đề liên quan