Mam skonfigurowanego lokalnego git na moim komputerze. Kiedy zainicjowałem git, dodałem wstępnie skompilowane biblioteki lib i binarne. Jednak teraz, podczas opracowywania, nie chcę sporadycznie rejestrować tych plików. Nie chcę usuwać tych plików z repozytorium. Czy jest jakiś sposób, aby nie śledzić tych plików, dopóki nie ukończę programowania. (Myślę, że nie mogę użyć .gitignore, ponieważ działa tylko dla tych plików, które nie są w git. Chcę tymczasowo wyłączyć śledzenie plików.)
git
github
repository
agent.smith
źródło
źródło
Odpowiedzi:
git update-index powinien robić, co chcesz
To powie git, że chcesz zacząć ignorować zmiany w pliku
git update-index --assume-unchanged path/to/file
Gdy chcesz ponownie zacząć śledzić
git update-index --no-assume-unchanged path/to/file
Dokumentacja Github: indeks aktualizacji
źródło
git rm --cached
, doprowadzi do usunięcia lokalnych kopii na innych komputerach, na których ten sam oddział jest sprawdzany, przy następnym ściągnięciu. Zobacz arlocarreon.com/blog/git/…, a zwłaszcza dyskusję poniżej.możesz zachować swoje pliki bez śledzenia
dodaj swoje pliki za pomocą
pchają lub robią, co chcesz.
źródło
git rm --cached .DS_Store
następnie drukujerm '../.DS_Store'
I plik lokalny jest usuwany ??! (git version 2.6.4 (Apple Git-63)
)Jednak przede wszystkim nie powinieneś kompilować plików binarnych i zewnętrznych zależności. Zamiast tego użyj narzędzia takiego jak Bundler.
źródło
Użyj następującego polecenia, aby wyśledzić pliki
źródło
Git-book wspomina o tym w sekcji 2.4: „Cofanie rzeczy”. Zasadniczo musisz przywrócić stan indeksu niektórych plików z powrotem do stanu HEAD, czyli do stanu ostatniego pobrania (lub zatwierdzenia). Spowoduje to cofnięcie przemieszczania pliku do bieżącego indeksu. Poleceniem dla tego zadania jest
git reset
. [1]Tak więc polecenie, które musisz wykonać to:
Nowsze wersje git (wydaje mi się, że od wersji 1.6) dają to polecenie (i wiele innych) jako wskazówkę podczas wykonywania
git status
. Te wersje są bardzo przyjazne dla użytkownika. Osobista wskazówka: jeśli wystawiasz tylko kilka plików, użyjgit add -i
. Spowoduje to uruchomienie interaktywnego narzędzia inscenizacji, które sprawia, że jest to szczególnie łatwe. Również bardzo polecam przeczytanie książki, ponieważ jest ona bardzo wyraźna na temat używania git w praktycznych sytuacjach.[1] http://www.git-scm.com/book
źródło
git reset [file]
jest to najprostszy sposób na wycofanie plików.Brak odpowiedzi na pierwotne pytanie. Ale to może komuś pomóc.
Aby zobaczyć dokonane zmiany ( wiedzieć, które pliki są oznaczone jako --assume-niezmienione )
Wynikowa lista plików będzie miała prefiks z jednym znakiem (np. H lub h) Jeśli jest to mała litera (tj. H), plik został oznaczony --assume-niezmieniony
źródło
Zakładam, że pytasz, jak usunąć WSZYSTKIE pliki w folderze kompilacji lub folderze bin, zamiast wybierać poszczególne pliki osobno.
Możesz użyć tego polecenia:
git rm -r -f /build\*
Upewnij się, że znajdujesz się w katalogu nadrzędnym katalogu kompilacji.
To polecenie rekurencyjnie „usunie” wszystkie pliki znajdujące się w folderach bin / lub build /. Przez słowo „usuń” rozumiem, że git będzie udawał, że te pliki są „usuwane”, a te pliki nie będą śledzone. Git naprawdę zaznacza te pliki w trybie usuwania.
Upewnij się, że masz .gitignore gotowy na nadchodzące zmiany.
Dokumentacja: git rm
źródło
git reset [plik]
Pobierz plik z obszaru przejściowego do katalogu roboczego
Często zapominam dodać moduły węzłów do pliku .gitignore, co rozwiązuje ten problem.
źródło
To zadziałało dla mnie
git reset HEAD „nazwa pliku”
źródło
Aby usunąć wszystkie pliki Unrack. Wypróbuj to polecenie terminala
źródło
aby usunąć nieśledzone pliki i foldery, ustaw git clean -fdx
źródło