Wygląda na to, że próbujesz śledzić plik (np. index.php
), Dodać go do zdalnego repozytorium, a następnie przestać go śledzić, zachowując plik w zdalnym (tj. Zachowaj index.php
niezmieniony plik w zdalnym repozytorium, zmieniając go lokalnie).
Z tego, co rozumiem, git nie może tego zrobić. Możesz śledzić plik lub nie. Jeśli śledzisz plik, istnieje on w zdalnym repozytorium i zmienia się po zatwierdzeniu zmian. Jeśli nie śledzisz pliku, nie ma go w zdalnym repozytorium.
Ponieważ nie jest możliwe zrobienie dokładnie tego, co chcesz z git, istnieją potencjalnie inne rozwiązania, w zależności od konkretnej sytuacji. Na przykład, dlaczego nie chcesz index.php
zmieniać zdalnie, kiedy zmieniasz to lokalnie? Czy plik zawiera ustawienia specyficzne dla użytkownika? W takim przypadku możesz:
cp index.php index_template.php
git rm --cached index.php
Teraz edytuj plik index_template.php, aby wyglądał tak, jak chcesz, aby pojawił się w zdalnym repozytorium. Dodaj coś do swojego README, aby powiedzieć ludziom używającym twojego repozytorium, że po sklonowaniu go muszą skopiować plik index_template.php do index.php i edytować go zgodnie ze swoimi potrzebami.
git add index_template.php
git add README
git commit -m 'added template index.php file'
git push
Kiedy ktoś sklonuje Twoje repozytorium, musi utworzyć własne index.php
. Zrobiłeś to dla nich łatwe: wystarczy skopiować index_template.php
do index.php
i zweryfikować go z ustawieniami komputera szczególnych.