Mam plik (config.php), który jest już zatwierdzony do repozytorium Git, ale chcę zignorować lokalnie, tj. Chcę, aby ten plik pozostał w repozytorium, ale zmusić Gita do zignorowania wszelkich zmian w nim.
Umieściłem plik w .gitignore, ale nadal jest oznaczony jako zmieniony, a Git nadal próbuje wprowadzić zmiany, za każdym razem, gdy coś zatwierdzam. Każdy pomysł, czego mi brakuje lub co robię źle?
Odpowiedzi:
Jeśli plik jest nadal wyświetlany w statusie, mimo że znajduje się w .gitignore, upewnij się, że nie jest już śledzony.
Jeśli chcesz po prostu zignorować to lokalnie, możesz również zignorować je przez status git:
źródło
update-index --assume-unchanged
na zdalnym oddziale? Chciałbym zachować plik w repozytorium, ale nie mógłbym go zmienić przez innych, a ponadto nie byłby dostępny na etapie.Ignoruj wpisany plik:
Aby przywrócić
Przywróć wszystko
źródło
Jeśli plik jest już w repozytorium, a tym samym w obszarze Index / Staging, aktualizacja do .gitignore nie zmieni tej sytuacji - będzie nadal zatwierdzana.
Aby usunąć plik z obszaru indeksu / przemieszczania, użyj
git rm <file>
.źródło
status
będzie nadal informować o tych zmianach. Jeśli chcesz zignorować pliki * .log, zarówno w przypadku plików wcześniej przypiętych, jak i obecnie nieśledzonych, musiszgit rm *.log
zaktualizować plik .gitignore . Najpierw sprawdź, czy niektóre pliki dziennika są rzeczywiście ważne ... Łatwo zapomnieć o tym specjalnym ;-)Po umieszczeniu pliku w .gitignore nie można go zmienić.
Możesz więc usunąć plik z listy w jednym zatwierdzeniu, zatwierdzić zmiany w następnym, a następnie ponownie dodać plik do listy ignorowanych w trzecim zatwierdzeniu.
To, co zwykle robię, to dzielenie pliku na dwa, jeden, który jest dozwolony i mogę zmienić, co obejmuje drugi plik, jeśli istnieje, wtedy deweloperzy mogą opcjonalnie wprowadzić zmiany konfiguracyjne w ignorowanym pliku.
źródło
.gitignore
i ciągle je zmieniam! Po raz pierwszy słyszę, jak ktoś mówi, że jak dodam plik.gitignore
, nie mogę go zmienić.