Existe-t-il un moyen de marquer un fichier comme non-commitable avec Git ? qu'il n'apparaisse pas sur GitHub ?
Tout d'abord, il n'y a aucun moyen d'avoir certains fichiers et commits visibles dans votre dépôt Git local mais en quelque sorte pas visibles dans GitHub ; si vous avez un fichier commis dans Git, il apparaîtra dans GitHub.
Deuxièmement, il n'existe aucun moyen simple et pratique de marquer un fichier individuel comme étant "non engageable". Mais il y a définitivement un moyen d'ignorer un fichier dans un repo Git : En ajoutant le(s) fichier(s) - y compris leur chemin relatif si nécessaire - à un fichier .gitignore
fichier :
A .gitignore
file spécifie les fichiers intentionnellement non suivis doit ignorer. Les fichiers déjà suivis par Git ne sont pas affectés ; voir la directive NOTES ci-dessous pour plus de détails.
Création d'une base .gitignore
est assez simple puisqu'il s'agit d'un simple fichier texte. Ainsi, par exemple, si j'ai un fichier config.php
dans votre racine, vous feriez cela ; en supposant que vous utilisez PHP, mais le concept s'applique à n'importe quelle configuration. J'utilise Nano comme éditeur de texte dans cet exemple, mais n'hésitez pas à utiliser l'éditeur de texte que vous utilisez habituellement :
nano .gitignore
Et ajoutez simplement ce nom de fichier à ce fichier :
config.php
Sauvegardez-le et maintenant Git ignorera simplement ce fichier.
Cela dit, ce que j'aime faire pour des configurations comme celle-ci, c'est de garder un échantillon/exemple de configuration sans spécificités sensibles dans le référentiel afin d'avoir une référence quant au format du fichier de configuration - un fichier nommé quelque chose comme ceci :
config.SAMPLE.php
De cette façon, vous savez exactement comment le config.php
doit être configuré via config.SAMPLE.php
et vous pouvez vous assurer que le config.php
n'est jamais touché par Git.
En outre, si vous envisagez de montrer votre code, vous devez vous attendre à ce que quelqu'un essaie de prendre ce code et de le mettre en œuvre sur son propre système d'une manière ou d'une autre. Rappelez-vous, nous ne sommes pas vous et sans un exemple de fichier de configuration dans votre répertoire, les gens ne comprendront pas vraiment comment implémenter le code sur leur propre système. Ils pourraient même penser que vous n'êtes pas compétent parce que vous n'avez pas fourni un exemple de configuration de base.