Computer >> Máy Tính >  >> Lập trình >> Lập trình

Xóa tệp không theo dõi bằng Git

Bạn có thể sử dụng lệnh git clean để xóa các tệp không được theo dõi. Lệnh -fd loại bỏ các thư mục không được theo dõi và lệnh git clean -fx loại bỏ các tệp bị bỏ qua và không bị bỏ qua. Bạn có thể xóa các tệp không được theo dõi bằng cách sử dụng tệp .gitignore.

Có hai loại tệp trong kho lưu trữ Git:tệp được theo dõi và không được theo dõi. Bạn có thể gặp trường hợp cần xóa các tệp chưa được kiểm soát khỏi kho lưu trữ Git.

Chúng ta có nên xóa các tệp không được theo dõi không? Chúng tôi có thể phải làm như vậy nếu:

  • Thư mục đang làm việc (cục bộ) của chúng tôi bị lộn xộn bởi các tệp không sử dụng
  • Bạn đã trỏ Git đến một thư mục mà bạn không muốn
  • Có các tệp còn sót lại từ các hợp nhất khác hoặc bạn muốn xóa một số tệp nhất định.

Git đã xóa các tệp không theo dõi

Bạn có thể xử lý các tệp chưa được theo dõi từ một nhánh Git bằng các phương pháp sau:

  • Tệp .gitignore, bỏ qua các tệp và thư mục trong kho lưu trữ
  • Lệnh git clean -fx, sẽ xóa các tệp chưa được theo dõi và theo dõi
  • Lệnh git clean -fd, sẽ xóa các tệp và thư mục chưa được theo dõi

Trong hướng dẫn này, chúng ta sẽ thảo luận về cách xóa các tệp không được theo dõi bằng Git. Chúng tôi sẽ tham khảo một số ví dụ để bạn có thể bắt đầu nhanh chóng.

Sự khác biệt giữa tệp được theo dõi và tệp không được theo dõi

Trong thư mục làm việc hoặc thư mục cục bộ, các tệp của bạn được theo dõi hoặc không được theo dõi. Đã theo dõi có nghĩa là những tệp đó được thêm vào và cam kết trong ảnh chụp nhanh trước đó và Git nhận biết, theo dõi chúng để thay đổi.

Không theo dõi các tệp thì ngược lại, những tệp đó không có trong lần cam kết trước đó và chưa được sắp xếp để được cam kết. Bạn có tùy chọn của một trong hai giai đoạn và cam kết chúng vào kho lưu trữ của bạn hoặc xóa chúng!

Nếu chúng tôi thực hiện trạng thái git ngay sau khi sửa đổi / thêm tệp, nó sẽ hiển thị cho chúng ta danh sách các tệp chưa được theo dõi và các tệp được theo dõi.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Xóa tệp chưa được theo dõi Git Tùy chọn 1:.gitignore

Tùy chọn đầu tiên là bỏ qua các tệp như vậy. Bạn có thể đang làm việc trên một dự án C ++ mà trong quá trình xây dựng, bạn có thể nhận được các tệp được tạo mà bạn không muốn có sẵn.

Ví dụ:bạn có thể có .env tệp với tất cả các biến môi trường và cơ sở dữ liệu, API, khóa truy cập của bạn. Bạn cũng sẽ không muốn thông tin đó tràn lan ngoài kia đúng không? Đây là nơi .gitignore các tệp có sẵn để chơi.

Bất kỳ tệp nào có trong .gitignore tệp sẽ không phải là một phần của luồng Git không được theo dõi / được theo dõi. Chúng sẽ bị xóa từ nó. Vì vậy, Git sẽ bỏ qua chúng và không theo dõi chúng cũng như phàn nàn rằng chúng không được theo dõi.

Trước tiên, hãy tạo một .gitignore tập tin trong thư mục gốc. Và sau đó, chúng tôi sẽ chỉ định đường dẫn tương đối của vị trí. Vì vậy, nếu giả sử chúng tôi muốn ẩn tệp node_modules và config.env, chúng tôi chỉ cần thêm chúng như vậy:

node_modules
config.env

Việc hiểu rõ về Gitignore là điều cần thiết khi dự án của bạn phát triển, vì vậy bạn phải biết những thư mục hoặc tệp nào cần được thêm vào đó. Điều này là do bạn không muốn chúng trong quy trình làm việc của Git là không được kiểm soát để rồi phân loại chúng do nhầm lẫn và yêu cầu Git theo dõi các tệp nhạy cảm như vậy để mọi người thấy các khóa của bạn bị lộ!

Việc hiểu rõ về Gitignore là điều cần thiết khi dự án của bạn phát triển, vì vậy bạn phải biết những thư mục hoặc tệp nào cần được thêm vào đó. Điều này là do bạn không muốn chúng trong quy trình làm việc Git không được kiểm soát để phân loại chúng do nhầm lẫn. Điều này sẽ khiến Git bắt đầu theo dõi các tệp có thông tin không được chia sẻ trong kho lưu trữ.

Xóa tệp chưa được theo dõi Git Tùy chọn 2:git clean

Tùy chọn tiếp theo mà chúng tôi phải xóa các tệp là sử dụng git clean yêu cầu. Lệnh git clean xóa các tệp chưa được theo dõi khỏi kho lưu trữ.

Lệnh git clean bắt đầu từ thư mục làm việc hiện tại bên trong cây làm việc của bạn. Cây làm việc của bạn là nhánh bạn đang xem.

Lệnh này sẽ hữu ích trong trường hợp chẳng hạn, bạn vô tình thêm một thư mục có ảnh trường trung học vào một kho lưu trữ thay vì một thư mục khác.

Git clean có một vài tùy chọn. Hãy xem cú pháp của lệnh này:

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

Tại thời điểm này, điều đáng nói là Git clean xóa tệp của bạn theo cách hệ thống cứng . Điều này có nghĩa là bạn không thể hoàn tác các thay đổi của mình. Nó tương tự như rm lệnh trong thiết bị đầu cuối. Tuy nhiên, nếu một tệp đã được theo dõi trong một lần cam kết trước đó, chúng tôi có thể tìm thấy một phiên bản cũ.

git clean -d -n

Nếu chúng tôi không chỉ định một đường dẫn mà chúng tôi thường muốn bao gồm -d tùy chọn để Git nhìn vào các thư mục không được theo dõi.

Chúng tôi nên bao gồm -n tùy chọn chạy khô đầu tiên. Điều này hướng dẫn Git cảnh báo chúng ta những gì sẽ bị xóa trước khi xóa nó. Nói cách khác, cờ -n thực hiện chạy khô chức năng sạch của chúng ta. Sau đó, chúng tôi có thể chạy git clean khi chúng tôi chắc chắn rằng các thay đổi của chúng tôi đã được thực hiện.

Sử dụng tùy chọn này sẽ cung cấp cho chúng tôi biện pháp bảo vệ chống lại việc xóa các tệp mà chúng tôi chưa sẵn sàng xóa hoặc không muốn xóa. Đây là cách chúng tôi kết thúc với git clean -d -n yêu cầu.

Hãy xem xét điều này trong hành động. Chúng tôi có Picture.jpg ngớ ngẩn mà chúng tôi không muốn theo dõi và muốn xóa. Kiểm tra xem điều gì sẽ xảy ra:

Xóa tệp không theo dõi bằng Git

git clean -f

Để làm cho Git sạch hoạt động, chúng tôi có thể cần chỉ định một tùy chọn buộc . Tùy chọn này chỉ nên được sử dụng nếu bạn chắc chắn rằng bạn muốn xóa các tệp bạn đã chọn khỏi kho lưu trữ.

Chúng ta hãy tiếp tục và loại bỏ ngớ ngẩnPicture.jpg của chúng tôi bằng git clean -f hoặc bạn có thể cụ thể hơn với git clean -f crazyPicture.jpg

Xóa tệp không theo dõi bằng Git

Tại đây, bạn có thể nhận thấy rằng ở đây trạng thái git đầu tiên chỉ ra rằng có một tệp chưa được theo dõi, sau đó sau khi chúng tôi xóa bằng -f tùy chọn tệp sau đó đã biến mất. C’est fini!

Mặc dù -f tùy chọn và Git clean rất mạnh mẽ, nó sẽ không hoạt động với các tệp bị bỏ qua. Điều này vì nó chỉ hoạt động với các tệp mà Git biết và là một phần của hệ thống kiểm soát phiên bản của nó.

git clean -x

Điều này không được khuyến khích trừ khi bạn thực sự biết mình đang làm gì. bạn có thể xóa các tệp và thư mục bị bỏ qua. Để làm điều này, chỉ cần sử dụng -x Lựa chọn. Vì vậy, git clean -d -x -f sẽ làm điều đó dễ dàng như chớp mắt. Nhưng chưa sử dụng nó.

git clean -d -i

Khuyến khích cho người mới bắt đầu. Khi bắt đầu, bạn có thể muốn cẩn thận về những tùy chọn mà bạn đưa vào. Chúng tôi đã chỉ cho bạn quá trình diễn ra -n Lựa chọn. Ngoài ra còn có -i tùy chọn sẽ hiển thị cho bạn một giao diện tương tác mà bạn có thể chơi cùng!

Xóa tệp không theo dõi bằng Git

Kết luận

Bạn có thể xóa các tệp chưa được theo dõi khỏi kho lưu trữ bằng cách sử dụng lệnh .gitignore hoặc git clean. Lệnh git clean loại bỏ các tệp một cách đệ quy. Lệnh này bắt đầu trong thư mục làm việc hiện tại của bạn.

Để tìm hiểu thêm về Git, hãy đọc hướng dẫn Cách tìm hiểu Git của chúng tôi.