Giả sử không có gì được dàn dựng, cách khuyến khích để đặt lại tất cả các công việc bạn đã làm, ngoại trừ cho các tập tin là những gì/models/và app/views/mà tôi không muốn giữ lại.Làm thế nào để git reset --hard tất cả mọi thứ nhưng 4 file
14
A
Trả lời
20
Như bạn mô tả vấn đề, nó không giống như bạn muốn làm reset
. Điều đơn giản nhất là:
git add app/models/a.rb app/views/a/index.html.rb config/foo.rb config/bar.rb
git checkout .
để thêm 4 tệp vào chỉ mục và kiểm tra các phiên bản sạch (nghĩa là loại bỏ thay đổi) đối với các tệp khác.
Tôi cho rằng bạn chưa dàn dựng (git add
) các tệp đã sửa đổi trước đó (sau đó bạn nên bỏ lưu trữ bằng cách đặt lại).
9
Một cách là git commit những bốn tập tin, sau đó thiết lập lại cứng, và sau đó lùi lại cam kết:
git add <files to keep>
git commit -m "temp"
git reset --hard
git reset HEAD~
4
Nếu bốn tập tin nằm trong chỉ số trong khi các tập tin bẩn không, đơn giản git-clean
nên làm các trick. Nếu không chắc chắn, trước tiên hãy sử dụng công tắc --dry-run
và thông báo công tắc --exclude
.
Ngược lại, gắn bó với siride's answer
Các vấn đề liên quan
- 1. Làm thế nào để thử tất cả mọi thứ?
- 2. Git kéo không kéo tất cả mọi thứ
- 3. "git checkout tag-name" vs "git reset --hard tag name"
- 4. Git reset --hard và một kho lưu trữ từ xa
- 5. Làm thế nào để thiết lập lại tất cả mọi thứ Heroku trong Git của tôi/Rails 3.1 Dự án
- 6. Sự khác nhau giữa "git checkout -f" và "git reset --hard HEAD" là gì?
- 7. Có sự khác biệt giữa "git reset --hard hash" và "git checkout hash" không?
- 8. git reset --hard HEAD để lại các tệp không được theo dõi sau
- 9. Git-bỏ qua file nào đó trong thư mục con, nhưng không phải tất cả
- 10. thông số hàng loạt: tất cả mọi thứ sau% 1
- 11. Regex - phù hợp với tất cả mọi thứ nhưng dấu gạch chéo
- 12. Làm thế nào để cài đặt lại git --hard bằng gitPython?
- 13. bash awk cột 1 đầu tiên và cột thứ 3 với tất cả mọi thứ sau
- 14. lệnh gì đã git làm với "git reset --har"
- 15. Làm cách nào để tôi có thể kéo --rebase nhưng thực hiện tất cả các thay đổi từ xa?
- 16. Làm thế nào để "chia" file với git
- 17. GIT: Tôi muốn unstage tất cả các file phù hợp với một khuôn mẫu nhất định
- 18. Làm thế nào để sử dụng git rebase -i sau khi git merge mà không làm rối tung mọi thứ?
- 19. Tại sao/như thế nào là tất cả mọi thứ $() dựa trên jQuery?
- 20. Làm thế nào để loại bỏ tất cả mọi thứ trong một DIV ngoại trừ một yếu tố?
- 21. jQuery: làm thế nào để vô hiệu hóa mọi thứ bên trong một div? nhưng vẫn giữ mọi thứ hiển thị?
- 22. ruby regex - làm thế nào để phù hợp với tất cả mọi thứ cho đến nhân vật -
- 23. Làm thế nào để có được tất cả mọi thứ sau khi một chỉ số nhất định trong chuỗi C#
- 24. Git Bỏ qua tất cả mọi thứ trong một thư mục, ngoại trừ các thư mục con
- 25. Undo "git reset --merge"
- 26. Mọi thứ biên dịch, nhưng Resharper đánh dấu mọi thứ màu đỏ?
- 27. Xóa tất cả Lịch sử Cam kết Git
- 28. Thay thế/loại bỏ tất cả mọi thứ giữa hai nhân vật
- 29. Làm cách nào để buộc git pull ghi đè mọi thứ trên mỗi lần kéo?
- 30. Làm thế nào để có được trang facebook rss feed (tất cả mọi người)
Tôi nghĩ rằng tôi thích điều này w/'git clean -fd' –
Có, nó khác -' checkout' hoạt động với các tệp được theo dõi, 'sạch' với không được theo dõi. – kan