Tôi muốn git ngừng theo dõi nhật ký phát triển cục bộ của tôi (log/development.log) trong kho lưu trữ của chúng tôi. Điều này có thể làm được không và tôi có thể làm như thế nào?Xóa một Tệp Hiện tại khỏi một Repo Git
Trả lời
Chỉ cần để cung cấp cho các câu trả lời đầy đủ tất cả cùng một lúc:
từ Klemens: Bạn cần phải thêm các tập tin vào tập tin
.gitignore
của bạn ở đâu đó trên các tập tin không mong muốn trong repo. ví dụ:$ cd $ cat >> .gitignore development.log C-d
từ m. narebski: Sau đó bạn cần phải loại bỏ các tập tin từ repo bằng cách thực hiện "
git rm --cached <file>
và sau đó cam kết loại bỏ này"
Nếu bạn cũng đã hy vọng để làm cho cái nhìn repo như thể nó chưa bao giờ theo dõi tập tin đó, có nghĩa là phức tạp hơn và không được khuyến khích vì nó không chỉ tạo ra các cam kết mới cho mỗi cam kết trong lịch sử của bạn, do đó phá hủy khả năng tương tác trong một cách khó chịu giữa những người khác đã nhân bản repo của bạn, nhưng nó cũng để lại mọi cam kết chưa được kiểm tra (giả sử bạn kiểm tra các cam kết trước khi thực hiện chúng).
Với lưu ý đó, công cụ bạn đang tìm kiếm nếu đó là mục tiêu của bạn là filter-branch
. Ví dụ đầu tiên thực hiện chính xác những gì tôi mô tả.
sử dụng git rm --cached dường như không chỉ loại bỏ nó nhánh của tôi, nhưng khi tôi kéo đến một hệ thống khác, nó sẽ xóa các tệp vật lý trên hệ thống đó. Bất kỳ ý tưởng gì đang xảy ra ở đó? – biagidp
Để đáp ứng các điều trên: Tôi tin rằng vấn đề là ở chỗ tôi không có .gitignore tại chỗ trên hệ thống thay thế trước khi kéo các thay đổi, vì vậy xóa xóa bản sao cục bộ. Ít nhất đó là lý thuyết – biagidp
thêm tệp gitignore.
Đây chỉ là một nửa câu trả lời. Các mục '.gitignore' không áp dụng cho các tệp đang được theo dõi. –
Phần thứ hai là 'git rm --cached
Tại sao không có lệnh đơn giản để git đánh giá lại tất cả các tệp được theo dõi hiện tại theo tệp .gitignore hiện tại? ... hay là có quá nhiều ý nghĩa thông thường? : p – Alexander
Để ngừng theo dõi tệp, chỉ cần sử dụng git rm --cached <filename>
.
Nhưng như được chỉ ra bởi những người khác ở đây, thêm tệp vào .gitignore có thể ngăn bạn vô tình thêm lại tệp sau.
- 1. Xóa thư mục '.git' khỏi git repo?
- 2. Git Clone vào một Repo Git hiện tại
- 3. Tìm kiếm và xem tệp đã bị xóa khỏi repo
- 4. Chỉ cần kéo một thư mục ra khỏi git repo
- 5. Plugin Eclipse Git - xóa tệp khỏi repo mà không xóa cục bộ
- 6. Làm thế nào để bạn thấy cam kết nào đã xóa một tệp khỏi repo?
- 7. Làm thế nào để xóa một đốm màu khỏi git repo
- 8. Xóa tất cả các tệp git khỏi một thư mục?
- 9. Xóa một thư mục vĩnh viễn khỏi git
- 10. Clone một repo git (sâu)
- 11. Git: Cách xóa tệp khỏi cam kết lịch sử?
- 12. Duy trì git repo bên trong một git repo
- 13. Xóa một sản phẩm khỏi Mẫu hiện tại
- 14. xóa một tập tin khỏi sự kiểm soát GIT
- 15. Xóa hoàn toàn tệp khỏi toàn bộ kho git
- 16. git cam kết xóa tất cả các tệp trong repo
- 17. Cách xóa nguồn gốc khỏi kho git
- 18. Cách xóa tệp đã bị xóa khỏi .git?
- 19. Xóa các tệp đã xóa khỏi lịch sử git
- 20. xóa tệp khỏi lịch sử git không hoạt động
- 21. Sử dụng git trên repo SVN hiện tại
- 22. Có thể có một repo git bên trong một repo git khác
- 23. Xóa refs/original/heads/master khỏi git repo sau khi lọc-branch --tree-filter?
- 24. Xóa nhiều BOM khỏi một tệp
- 25. Nhiều dự án trong một repo git?
- 26. Đẩy subtrees vào một repo git
- 27. Xuất bản một "git svn" repo
- 28. Sử dụng git-svn với một repo hiện có thiếu .git/svn/
- 29. Xóa các tệp khỏi bản gốc tại github
- 30. Xóa khỏi một LinkedList
có thể trùng lặp của [Tạo git "quên" về tệp * đã được * theo dõi nhưng giờ đây là ".gitignored"] (http://stackoverflow.com/questions/1274057/making-git-forget-about-a -file-that-was-tracking-but-is-now-gitignored) – Cascabel