Есть ли способ пометить файл как недоступный для 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.php
Git никогда не затрагивает его.
Кроме того, если вы планируете демонстрировать свой код, вы должны ожидать, что кто-то попытается взять этот код и каким-то образом внедрить его в своей собственной системе. Помните, что мы не вы, и без примера файла конфигурации в вашем репо, люди не будут действительно понимать, как реализовать код самостоятельно. Черт возьми, они могут даже подумать, что вы не компетентны, потому что вы не предоставили базовый пример конфигурации.