Chcę, aby git zignorował mój UserInterfaceState.xcuserstate
plik w moim projekcie XCode4, ale gdzie powinienem umieścić ten .gitignore
plik? Czy znajduje się w .git
folderze? czy na zewnątrz? .git
Jest w tym samym folderze z ProjectName.xcodeproj
plikiem
102
Odpowiedzi:
Możesz mieć
.gitignore
w każdym katalogu swojego projektu.Jednak najlepszą praktyką jest umieszczenie jednego
.gitignore
pliku w katalogu głównym projektu i umieszczenie w nim wszystkich plików, które chcesz zignorować, na przykład:Po utworzeniu
.gitignore
pliku ignorowane pliki, które mają zmiany lub są nowe w repozytorium, nie będą wyświetlane jako oczekujące na zatwierdzenie.Możesz także mieć jeden globalny lokalny plik ignorowania git, który będzie zarządzać wszystkimi repozytoriami git.
git config --global core.excludesfile ~/.gitignore_global
Ta alternatywa jest szczególnie interesująca w przypadku ignorowanych plików, które nie są związane z projektem, takich jak pliki związane z IDE i tak dalej.
źródło
Istnieją sposoby na ignorowanie plików w git:
~/.gitignore_global
ścieżce. Takie podejście jest dobre, jeśli chcesz wykluczyć niektóre pliki typu, które są generowane przez system operacyjny lub inne narzędzia do rejestrowania, wypłacania pieniędzy itp..git/info/exclude
pliku w repozytorium. Reguły określone w tym pliku nie zostaną zatwierdzone, co oznacza, że nie będą udostępniane innym. Ogólnie to podejście jest przydatne, aby zapobiec przesyłaniu plików generowanych lokalnie. Na przykład dla plików utworzonych przez Twojego edytora..gitignore
w dowolnej ścieżce podrzędnej określonego repozytorium. To podejście jest zwykle używane do ignorowania niektórych typów plików tylko w określonym folderze określonego repozytorium. Chociaż te pliki można dodać do kontroli wersji przez inne ścieżki i inne repozytoria.Tak więc, moja sugestia jest taka, że jeśli chcesz zignorować swój określony plik (
UserInterfaceState.xcuserstate
) we wszystkich repozytoriach, najlepszym podejściem jest użycie podejścia globalnego ignorowania git. Jeśli jednak twój plik jest generowany tylko w określonym repozytorium, możesz użyć podejścia git ignore dla każdego repozytorium.Aby uzyskać więcej informacji, przeczytaj ten wspaniały wpis na blogu. A tam za specyficznego języka git ignorują zasady może być założony tutaj . I możesz automatycznie generować ogólne reguły ignorowania git dla określonego języka, narzędzia lub systemu operacyjnego, używając tej strony internetowej .
źródło
Plik .gitignore należy umieścić w katalogu głównym projektu.
źródło
Nie ma
.gitignore
w.git
folderze.Jest to jednak
.git/info/exclude
plik, który pozwala wykluczyć plik lokalnie, ogólnie rzecz biorąc, gdy chcesz wykluczyć plik tylko dla tego konkretnego repozytorium (z aliasem takim jak ten ):Jeśli chcesz wykluczyć ten plik dla wszystkich podobnych projektów, o czym wspomniał Elnur Abdurrakhimov w swojej odpowiedzi , wyklucz go globalnie.
Ale, jak wspomniano w „ Czy musimy rejestrować * .xcuserstate? ”, Jeśli jest to typ pliku, który powinien zostać zignorowany przez dowolnego użytkownika tego repozytorium, w rzeczywistości utworzyłbym wersję .gitignore na początku repozytorium, o treści podobnej do:
W ten sposób żaden użytkownik tego repozytorium nie zda sobie nawet sprawy, że ten plik istnieje i jest generowany (jakkolwiek się nazywa): nie pojawi się
git status
nigdy.Lub możesz całkowicie zignorować
xcuserdata/
(w globalnym.gitignore
lub wersjonowanym, takim jak ogólnyObjective-C.gitignore
plik GitHub .źródło
Należy nie umieścić narzędzie specyficzne pliki do projektu
.gitignore
pliku - chyba że wymagane jest narzędzie do wykorzystania przez każdego autora projektu.Zamiast tego utwórz osobisty
.gitignore
plik globalny w swoim katalogu domowym i aktywuj go:Teraz możesz umieścić w swoim
.gitignore
pliku wszystkie pliki wygenerowane przez narzędzia programistyczne .źródło
zazwyczaj najlepszym rozwiązaniem jest umieszczenie
.gitignore
pliku w katalogu głównym projektuźródło