Khắc phục: Gitignore không hoạt động

GitHub đã nổi lên là người tiên phong hàng đầu trong lĩnh vực cộng tác mã và chia sẻ kho lưu trữ. GitHub chủ yếu là một phần mềm kiểm soát phiên bản cho phép người dùng kiểm soát kiểm soát phiên bản phân tán và SCM (quản lý mã nguồn). Nền tảng này được sử dụng bởi các doanh nghiệp và công ty lớn trên toàn thế giới.

.gitignore

Các nền tảng như thế này có kỹ thuật và vấn đề của họ. Một vấn đề cụ thể mà các lập trình viên gặp phải là .gitignore không hoạt động trong GitHub. Nền tảng hoặc bỏ qua .gitignore hoặc hoạt động một phần. Thật thú vị khi lưu ý rằng vấn đề có thể hơi khác nhau trong mỗi trường hợp vì mỗi trường hợp là một kịch bản hoàn toàn khác nhau. Tuy nhiên, các giải pháp mà chúng tôi liệt kê sẽ chứa các bản sửa lỗi sẽ hoạt động phổ biến.

.Gitignore là gì?

Git (hoặc GitHub) nhìn thấy mọi tệp trong thư mục làm việc của bạn. Nó đặc trưng cho mỗi tệp là một trong ba:

  • Theo dõi: Những tập tin này được cam kết hoặc dàn dựng trước đây trong lịch sử.
  • Unracked: Đây là những tệp chưa được dàn dựng hoặc cam kết trước đó.
  • Bỏ qua: Đây là những tệp mà chính người dùng đã nói với Git bỏ qua hoàn toàn.

Các tệp bị bỏ qua này có thể thay đổi kịch bản theo kịch bản và chủ yếu là các tệp do máy tạo hoặc tạo các tạo phẩm. Đây là thực tế phổ biến; bạn có thể bỏ qua các tệp khác theo nhu cầu của riêng bạn. Một số ví dụ về các tệp này là:

  • Mã biên dịch: Các tệp này thường có phần mở rộng. Class, .pyc, .ccp, v.v.
  • Các tệp hệ thống ẩn: Đây là các tệp được hệ thống sử dụng cho các hoạt động của nó nhưng bị ẩn khỏi chế độ xem đơn giản, ví dụ: DS_Store hoặc Thumbs.db, v.v.
  • Xây dựng thư mục đầu ra: Đây hầu hết là các thư mục của / bin, / out, v.v.
  • Bộ đệm phụ thuộc: Các tệp này có thể là nội dung của các mô-đun / nút hoặc / gói.
  • Tệp cấu hình IDE: Đây là các tệp cấu hình phần lớn được tạo hoặc quản lý bởi phần mềm IDE của bạn.
  • Tệp được tạo khi chạy: Có một số chương trình tạo tệp khi chạy. Nếu một trong những mã như vậy được chạy, một số tệp có thể được tạo vào thời gian chạy trong thư mục làm việc của bạn và bạn có thể bỏ qua chúng trong Git.

Bất kỳ tệp nào bạn muốn bỏ qua đều được theo dõi trong một tệp đặc biệt có tên là .gitignore, phần lớn được kiểm tra trong thư mục gốc của kho lưu trữ làm việc của bạn. Theo tài liệu chính thức của GitHub về chủ đề này, không có lệnh gitignore cụ thể. Thay vào đó, bạn phải chỉnh sửa thủ công tệp mà bạn muốn bỏ qua. Tệp .gitignore chứa các mẫu khớp với tên tệp trong kho lưu trữ làm việc của bạn và chúng được sử dụng để giúp xác định xem một tệp cụ thể có nên bị bỏ qua hay không.

Điều gì gây ra .gitignore không hoạt động?

Tính năng .gitignore có thể hoạt động hoàn hảo nhưng bạn có thể không cấu hình đúng cách. Trong tất cả các khảo sát của chúng tôi, chúng tôi đã đi đến kết luận rằng mô-đun này thực sự hoạt động. Lý do tại sao các lập trình viên không thể sử dụng tính năng này chủ yếu là vì họ chưa cấu hình đúng tệp hoặc có một số điều kiện không được đáp ứng trong mã bên dưới.

Dưới đây là một số giải pháp có thể làm việc cho bạn. Mỗi giải pháp có thể không áp dụng được trong trường hợp của bạn, vì vậy hãy đảm bảo rằng bạn chuyển sang giải pháp tiếp theo nếu các điều kiện ban đầu không được đáp ứng.

Giải pháp 1: Kiểm tra tệp .gitignore

Một trường hợp thú vị đã xuất hiện khi chúng tôi thấy rằng tệp .gitignore đã được tạo ở định dạng sai. Sự cố đặc biệt này xảy ra khi người dùng tạo tệp bằng ứng dụng mặc định của Notepad trong Windows OS. Hóa ra Notepad ghi tệp bằng Unicode thay vì định dạng ANSI. Trong giải pháp này, chúng tôi sẽ lưu các thay đổi của Notepad theo định dạng chính xác của .gitignore và xem điều này có khắc phục được sự cố không.

Lưu ý: Bạn phải xóa phần mở rộng của .txt khỏi tệp khi bạn tạo tệp mới bằng Notepad.

  1. Sau khi viết mã hoặc thay đổi trong tài liệu văn bản mới trong Notepad, nhấp vào Tệp và chọn Lưu dưới dạng .

Lưu dưới dạng - Notepad
  1. Bây giờ ở phía trước Mã hóa, chọn ANSI . Bây giờ hãy xóa phần mở rộng tệp của .txt và lưu tệp có tên ' .gitignore '. Chọn thư mục chính xác và lưu.

Chọn ANSI làm kiểu Mã hóa
  1. Bây giờ điều hướng đến thư mục và kiểm tra nếu tập tin chính xác được tạo ra. Bây giờ hãy kiểm tra lại bằng Git và xem tính năng Bỏ qua có hoạt động như mong đợi không.

Các nhà phát triển nên tránh sử dụng Notepad mặc định trong Windows. Thay vào đó, bạn nên sử dụng notepad 'lập trình viên' thích hợp. Một số ví dụ bao gồm Notepad ++, v.v. Trong những trường hợp đó, bạn sẽ không gặp vấn đề như thế này.

Lưu ý: Nếu tệp của bạn đã được lưu ở định dạng UNICODE, bạn nên lưu nội dung ở định dạng ANSI đúng cách nếu bạn muốn tệp của mình được Git phát hiện đúng.

Giải pháp 2: Kiểm tra tệp bạn đang cố gắng bỏ qua

Một điều kiện khác mà .gitignore hoạt động là tệp của bạn chưa phải là một phần của kho lưu trữ . Đây là một khía cạnh rất cần thiết vì nếu điều này là đúng, tập tin sẽ không bị bỏ qua vì nó đã được thêm vào kho lưu trữ. Git không thể bỏ qua điều đó ngay cả khi bạn đặt tên hoặc quy tắc của nó trong tệp .gitignore. Vì vậy, về bản chất, Git chỉ bỏ qua các tệp không được theo dõi .

Bạn nên xem cấu trúc của bạn (kho lưu trữ) và đảm bảo rằng tệp mà bạn hiện đang cố gắng bỏ qua không được thêm vào kho lưu trữ. Nếu có, bạn sẽ phải xóa tệp khỏi kho lưu trữ và sau khi các thay đổi mới nhất được cam kết, hãy thêm tên của nó vào .gitignore (bạn cũng có thể sao chép nội dung của tệp và sau khi xóa tệp, sao chép tệp đó bằng một tên khác) .

Giải pháp 3: Thêm lại tệp vào Kho lưu trữ

Nếu bạn đã thêm quy tắc vào .gitignore nhưng các tệp bạn muốn bỏ qua đã được thêm, chúng tôi có thể thêm lại các tệp. Thêm nghĩa là chúng tôi sẽ xóa mọi thứ khỏi chỉ mục của Git và sau đó thêm lại mọi thứ vào kho lưu trữ của bạn. Khi chúng tôi thêm lại các tệp từ đầu, các quy tắc sẽ được ghi nhớ mà bạn đã thêm vào .gitignore và chỉ các tệp chính xác được thêm vào.

Lưu ý: Bạn cũng nên sao lưu mã của mình ở một nơi khác trước khi thực hiện giải pháp này. Nó luôn luôn tốt để có một bản sao lưu chỉ trong trường hợp.

  1. Thực hiện lệnh sau. Điều này sẽ hủy bỏ và loại bỏ các đường dẫn đến tệp của bạn khỏi chỉ mục git theo cách đệ quy.
 git rm -r - đã được. 
  1. Sau khi điều này được thực thi, bạn nên thực hiện lệnh sau. Điều này sẽ thêm tất cả các tệp của bạn trở lại và vì .gitignore sẽ có các quy tắc, chỉ các tệp chính xác sẽ được cập nhật.
 git thêm. 
  1. Bây giờ chúng tôi sẽ cam kết tất cả các tệp của bạn trở lại chỉ mục bằng cách sử dụng mã dưới đây:
 git commit -m ".gitignore hiện đang hoạt động" 

Bây giờ hãy kiểm tra các tệp của bạn và xem sự cố đã được giải quyết chưa và bạn có thể sử dụng lại .gitignore mà không gặp sự cố nào.

Bài ViếT Thú Vị