Przesłałem pliki z Project
do Project/src
. Git ma wrażenie, że usunąłem pliki z Project
i utworzyłem nowe pliki w Project/src
.Zamówienie wielu plików, które zostały przeniesione w drzewie roboczym
Ponadto mam wiele innych zmian w drzewie roboczym, które chcę zatwierdzić. 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.
Chciałbym unstage pliki źródłowe - *.{cpp,h}
. Wiem, jak się otworzyć (na przykład pomocny może być link here). To, co chciałbym, aby uniknąć, robi pisząc wiele z git checkout <filename>
.
Nie chcę płacić HEAD
, ponieważ niektóre zmiany w drzewie roboczym chciałbym zachować. Próbowałem robić git checkout *.{cpp,h}
, co daje następujące:
$ git checkout *.{cpp,h}
zsh: no matches found: *.cpp
Ponieważ pliki nie istnieją obecnie w drzewie roboczym, nie mogę ich sprawdzić bo *.{cpp,h}
nie pasuje do żadnych plików.
Pliki są wszystkie w Project/src
; jest prawdopodobnie regex lub coś, co mógłbym uruchomić z wyjściem ls src
podłączonym do polecenia, ale chciałbym wiedzieć, czy git może zrobić to dla mnie sam. Czy istnieje sposób, w jaki mogę to zrobić w git?
Jeśli pliki istnieją w katalogu, git (lub może powłoka, nie jestem pewien) akceptuje '*. {Cpp, h}' i rozszerza go do wszystkich pasujących plików. Mój problem polega na tym, że nie * mam * pasujących plików; przenieśli się do 'src/*. {cpp, h}' i próbuję znaleźć leniwy sposób na kasowanie plików bez wpisywania 'git checkout', 'git checkout ' itp. –
simont
Jeśli uciekniesz gwiazda, nie będzie pasować w powłoce. Po prostu spróbuj :-) – Irfy
Heh. Mój błąd; zupełnie źle przeczytałem to, co napisałeś. To działa - dziękuję bardzo. – simont