Есть ли способ пометить файл как недоступный для Git, чтобы он не мог появиться на GitHub?
Во-первых, нет никакого способа, чтобы некоторые файлы и коммиты были видны в вашем локальном Git-репозитории, но как-то не видны в GitHub; если у вас есть файл, зафиксированный в Git, он появится в GitHub.
Во-вторых, не существует простого и практичного способа пометить отдельный файл как «непригодный для использования». Но определенно есть способ игнорировать файл в репозитории Git: добавляя файлы, включая их относительный путь, если необходимо - в .gitignoreфайл :
.gitignoreФайл определяет намеренно неотслеживаемые файлы, Git должны игнорировать. Файлы, уже отслеженные Git, не затрагиваются; см. примечания ниже для деталей.
Создать простой .gitignoreдовольно просто, так как это простой текстовый файл. Так, например, если бы у меня был config.phpфайл в вашем корне, вы бы сделали это; Предполагается, что вы используете PHP, но концепция применима для любой установки. Также я использую Nano в качестве моего текстового редактора в этом примере, но не стесняйтесь использовать любой текстовый редактор, который вы обычно используете для этого:
nano .gitignore
И просто добавьте это имя файла в этот файл:
config.php
Сохраните его, и теперь Git просто проигнорирует этот файл.
Тем не менее, что я хотел бы сделать для таких настроек, как это, чтобы держать пример конфигурации / примера в чистом виде от деликатных особенностей в репозитории, поэтому у меня есть некоторая ссылка на то, что формат файла конфигурации - это файл с именем примерно так:
config.SAMPLE.php
Таким образом, вы точно знаете, как config.phpфайл должен быть настроен через Git, config.SAMPLE.phpи вы можете быть уверены, что config.phpGit никогда не затрагивает его.
Кроме того, если вы планируете демонстрировать свой код, вы должны ожидать, что кто-то попытается взять этот код и каким-то образом внедрить его в своей собственной системе. Помните, что мы не вы, и без примера файла конфигурации в вашем репо, люди не будут действительно понимать, как реализовать код самостоятельно. Черт возьми, они могут даже подумать, что вы не компетентны, потому что вы не предоставили базовый пример конфигурации.