Це здається, що ви намагаєтеся відслідковувати файл (наприклад index.php
), додавати його у віддалений сховище, а потім перестати спостерігати за його відстеженням, зберігаючи файл у віддаленому (тобто зберігайте index.php
незмінним на віддаленому репо, одночасно змінюючи його локально).
Як я розумію, git не може цього зробити. Ви можете відслідковувати файл, чи ні. Якщо ви відстежуєте файл, він існує у віддаленому репо-файлі та змінюється під час внесення змін до нього. Якщо ви не відстежуєте файл, він не існує у віддаленому репо.
Оскільки неможливо робити саме те, що ви хочете з git, можливо, є інші рішення, залежно від вашої конкретної ситуації. Наприклад, чому ви не хочете index.php
змінити на віддалений, коли ви змінюєте його локально? Чи є у файлі налаштування, специфічні для користувача? Якщо це так, ви можете зробити:
cp index.php index_template.php
git rm --cached index.php
Тепер відредагуйте index_template.php таким, яким ви хочете, щоб він відображався на віддаленому репо. Додайте щось до свого README, щоб сказати людям, які використовують ваше сховище, що після їх клонування вони повинні скопіювати index_template.php в index.php та відредагувати його відповідно до своїх потреб.
git add index_template.php
git add README
git commit -m 'added template index.php file'
git push
Коли хтось клонує ваше репо, він повинен створити своє index.php
. Ви зробили це легко для них: просто скопіювати index_template.php
в index.php
і переглянути його з настройками комп'ютера специфічними.