Odpowiedzi:
Git prawdopodobnie już śledzi plik.
Aby zatrzymać śledzenie aktualnie śledzonego pliku, użyj git rm --cached .
Użyj tego, zastępując [project]
a [username]
z informacją:
git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"
Alternatywnie możesz użyć tej -a
opcji, aby git commit
dodać wszystkie pliki, które zostały zmodyfikowane lub usunięte.
Po usunięciu pliku z git będzie szanował twój .gitignore
.
Jeśli zignorowany plik wciąż pojawia się na liście nieśledzonej, możesz użyć git clean -f -d
do wyczyszczenia.
1.
git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate
2)
git commit -m "Removed file that shouldn't be tracked"
3. OSTRZEŻENIE pierwsza próba git clean -f -d --dry-run
, w przeciwnym razie możesz utracić nieprzewidziane zmiany.
Następnie:
git clean -f -d
git clean -f -d --dry-run
Aby zobaczyć, co się stanie
git clean -f -d
zrobić?
git clean -f -d
jeśli masz niezatwierdzone zmiany plików! Użyłem go i usunąłem moje świeżo utworzone pliki z zawartością już utworzoną! :) Więc najpierw zatwierdz, a potem wyczyść
Cała odpowiedź jest świetna, ale oto ta zostanie usunięta dla każdego użytkownika, jeśli pracujesz na innym komputerze Mac (w domu i biurze)
git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"
Czy znajomy pokazał mi tę niesamowitą stronę https://www.gitignore.io/ . Wpisz IDE wybranego lub innych opcji, a automatycznie wygeneruje gitignore
plik zawierający przydatne ignorowanie, z których jednym jest xcuserstate
. Możesz obejrzeć gitignore
plik przed pobraniem.
Jeśli plik wyświetla się nawet po wykonaniu wszystkich czynności wymienionych tutaj, upewnij się, że to pole wyboru w ustawieniach Xcode nie jest zaznaczone:
Oto kilka wersji demonstracyjnych i skrótów, jeśli używasz GitHub, podstawowe pomysły są takie same.
1. Otwórz terminal w ten sposób
2. Wklej poniższe polecenie do terminala, a następnie spację, a następnie wklej ścieżkę pliku .xcuserstate po prostu w ten sposób
3. Upewnij się, że masz poprawne polecenie git ignore, a następnie potwierdź kod :)
Oto bardzo ładne wyjaśnienie, jak rekurencyjnie usunąć te pliki z historii git: http://help.github.com/remove-sensitive-data/
Bardzo przydatne, ponieważ w przeciwnym razie narzędzia „zawieszają się”, próbując pokazać różnicę na tych ogromnych plikach, które nie powinny były być sprawdzane w pierwszej kolejności ...
Oto, co możesz zrobić (krótko), aby pozbyć się największych rzeczy:
cd YourProject
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD
# see what you want to do with your remote here...
# you can: git push origin master --force
# or you can delete it and push a fresh new one from your cleaned-up local...
rm -rf .git/refs/original
git gc --prune=now
git gc --aggressive --prune=now
Pracował dla mnie bardzo ładnie :)
Dla mnie nic nie działało, ale to
dodaj tę linię do swojego gitignore
*.xcuserdata
To działa dla mnie
Otwórz folder zawierający plik projektu project.xcworkspace
z terminala.
Napisz to polecenie: git rm --cached *xcuserstate
Spowoduje to usunięcie pliku.
Dla xcode 8.3.3 właśnie sprawdziłem wypróbowałem powyższy kod i zauważyłem, że teraz w tym przypadku musimy zmienić polecenia, aby polubić to
najpierw możesz utworzyć plik .gitignore za pomocą
touch .gitignore
po tym możesz usunąć cały plik UserInterface za pomocą tego polecenia i za pomocą tego polecenia będzie respektować plik .gitignore.
git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"