Tôi đã chuyển tệp từ Project
đến Project/src
. Git có ấn tượng rằng tôi đã xóa các tệp từ Project
và tạo các tệp mới trong Project/src
.Thanh toán nhiều tệp đã được di chuyển trong cây đang hoạt động
Ngoài ra, tôi có nhiều thay đổi khác trong cây đang hoạt động mà tôi muốn cam kết. My git status
:
$ git status
# On branch feature/cmake
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# new file: .gitignore
# new file: CMakeLists.txt
# deleted: Wasa.xcodeproj/project.pbxproj
# deleted: Wasa/Wasa.1
# renamed: Wasa/main.cpp -> main.cpp
# new file: src/CMakeLists.txt
# Lots of new files listed here
#
# Changes not staged for commit:
# (use "git add/rm ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: CMakeLists.txt
# deleted: IODevice.h
# Lots of deleted files listed here.
Tôi muốn unstage các tệp nguồn - *.{cpp,h}
. Tôi biết làm thế nào để unstage (liên kết here, ví dụ, là hữu ích). Điều tôi muốn tránh đang thực hiện đang nhập rất nhiều git checkout <filename>
.
Tôi không muốn thanh toán HEAD
, vì một số thay đổi trong cây đang hoạt động mà tôi muốn giữ lại. Tôi đã cố gắng làm git checkout *.{cpp,h}
, mang đến cho những điều sau đây:
$ git checkout *.{cpp,h}
zsh: no matches found: *.cpp
Bởi vì các tập tin hiện không tồn tại trong cây làm việc, tôi không thể kiểm tra chúng ra vì *.{cpp,h}
không phù hợp với bất kỳ tập tin.
Các tệp này đều có trong Project/src
; có lẽ là một regex hoặc một cái gì đó tôi có thể chạy với đầu ra của ls src
đường ống vào lệnh git checkout
, nhưng tôi muốn biết nếu git có thể làm điều này cho tôi một mình. Có cách nào tôi có thể làm điều này trong git?
Nếu các tệp tồn tại trong thư mục, git (hoặc có thể trình bao, tôi không chắc chắn) chấp nhận '*. {Cpp, h}' và mở rộng tệp đó cho tất cả các tệp phù hợp. Vấn đề của tôi là tôi không * có * tập tin phù hợp; họ đã chuyển sang 'src/*. {cpp, h}' và tôi đang cố gắng tìm một cách lười biếng để kiểm tra các tệp mà không cần gõ 'git checkout', 'git checkout ' vv –
simont
Nếu bạn thoát khỏi sao, nó sẽ không khớp trong vỏ. Chỉ cần thử :-) – Irfy
Heh. Lỗi của tôi; hoàn toàn đọc sai những gì bạn đã viết. Điều đó hoạt động - cảm ơn bạn rất nhiều. – simont