Existe-t-il un moyen de marquer un fichier comme étant inutilisable avec Git afin qu'il ne puisse pas apparaître sur GitHub?
Tout d’abord, il n’existe aucun moyen d’afficher certains commits et commits dans votre référentiel Git local, mais d’une manière ou d’une autre, non visibles dans GitHub; si vous avez un fichier validé dans Git, il apparaîtra dans GitHub.
Deuxièmement, il n'y a pas de moyen simple et pratique de jamais marquer un fichier individuel comme étant «non gommable». Mais il existe certainement un moyen d'ignorer un fichier dans un dépôt Git: en ajoutant le (s) fichier (s), y compris leur chemin relatif si nécessaire - dans un .gitignore
fichier :
Un .gitignore
fichier spécifie les fichiers intentionnellement non suivis que Git doit ignorer. Les fichiers déjà suivis par Git ne sont pas affectés. voir les NOTES ci-dessous pour plus de détails.
Créer une base .gitignore
est assez facile puisqu'il ne s'agit que d'un fichier texte brut. Donc, par exemple, si j'avais un config.php
fichier dans votre racine, vous le feriez; en supposant que vous utilisez PHP, mais le concept s'applique à n'importe quelle configuration. De plus, j'utilise Nano comme éditeur de texte dans cet exemple, mais n'hésitez pas à utiliser l'éditeur de texte que vous utilisez normalement pour cela:
nano .gitignore
Et ajoutez simplement ce nom de fichier à ce fichier:
config.php
Enregistrez-le et maintenant, Git ignorera simplement ce fichier.
Cela dit, ce que j'aime faire pour les configurations telles que celle-ci est de garder un exemple / exemple de configuration propre aux détails sensibles dans le référentiel afin que je sache ce que le format de fichier de configuration est un fichier nommé comme ceci:
config.SAMPLE.php
De cette façon, vous savez exactement comment config.php
configurer le fichier config.SAMPLE.php
et vous pouvez vous assurer que le fichier config.php
n’est jamais touché par Git.
De plus, si vous envisagez de montrer votre code, vous devez vous attendre à ce que quelqu'un essaye de le prendre et de le mettre en œuvre sur son propre système. Rappelez-vous, nous ne sommes pas vous et sans un exemple de fichier de configuration dans votre référentiel, les gens ne comprendront pas vraiment comment implémenter le code eux-mêmes. Ils pourraient peut-être même penser que vous n'êtes pas compétent parce que vous n'avez pas fourni d'exemple de configuration de base.