Mam kilka śledzonych plików w repozytorium, które są automatycznie modyfikowane podczas budowania kodu. Nie chcę ich usuwać, po prostu nie chcę, aby pojawiały się jako zmodyfikowane i nie chcę, aby były wystawiane podczas dodawania git.
czy to możliwe?
Odpowiedzi:
Pewnie.
Aby cofnąć i ponownie rozpocząć śledzenie:
źródło
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--assume-unchanged
o klonowanie? Aby wszyscy użytkownicy mieli pliki, ale nie widzieli lokalnych zmian w nich w różnicach.git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel))
ustawione jako alias git. Zawsze, gdy podejrzewam, że to niektóre z tych oszustw, po prostu to robię.Innym podejściem (z usuniętej już odpowiedzi Setha Robertsona, ale okazało się, że jest to pomocne, więc wskrzeszenie jej) polega na utrzymaniu „śledzonego” pliku szablonu, a następnie posiadaniu jego lokalnej wersji bez śledzenia, np. „Config.sample.ini” lub „ config.ini.template ”, zobacz https://gist.github.com/canton7/1423106, aby zapoznać się z pełnym przykładem.
Wtedy nie będzie żadnych obaw, jeśli plik zostanie zmieniony w git, itp. I możesz użyć .gitignore (ostatecznie) na lokalnych nieśledzonych plikach.
źródło
Kolejne rozwiązanie wykorzystujące atrybuty git i% f w poleceniu filter:
źródło