Mon code Go compilé ne se termine pas avec une extension sur Linux. p>
Tous conseils pour manipuler ceux-ci dans le fichier .gitignore? p>
4 Réponses :
Ajoutez simplement les noms des fichiers de votre .gitignore code>? Fastidieux, mais cela fonctionnera. P>
True, mais je pourrais alors aussi ajouter manuellement chaque fichier à mon git ajout de routine. J'espère que quelqu'un pourrait avoir un tour pour le faire de manière plus portable.
Le .gitignore code> langue n'est pas terminé. Il ne peut correspondre que des modèles assez simples. Cela signifie simplement que vous avez besoin de quelque chose d'autre qui peut déterminer les exécutables possibles à exclure. Donc, écrivez un script qui crée
.gitignore code> en fonction des noms des exécutables pouvant être créés. Si vous voulez être fantaisie, faites un alias qui l'exécute avant
git Ajouter code>. P>
Gardez vos produits de construction séparés de votre code source. Cela présente plusieurs avantages: P>
rm -rf objdir code> supprimera des fichiers qu'un buggy est propre code> manquera li>
- Vous pouvez lancer une construction à partir d'une copie en lecture seule de l'arborescence source (par exemple, CD-ROM) LI>
- Vous êtes moins susceptible de commettre accidentellement des fichiers générés li>
-
git clean -dxf code> nettoie votre arborescence source, mais ne touchez pas vos fichiers construits li>
ul>
Notez que GNU Automake et apportez une fonctionnalité appelée VPATH < / a> Pour faciliter la séparation de l'arborescence source de l'arbre de construction. P>
Si vous utilisez l'outil Go code> pour créer votre code, vous pouvez utiliser le drapeau
-o code> pour spécifier le nom du fichier de sortie, de sorte que vous pouvez par exemple utiliser
Go Build -O bin / elf code> puis ajoutez
bin / * code> à votre
.gitignore code> fichier. p>
Est-il possible d'ignorer les fichiers par type de fichier / mime avec git?
Google va-t-il vraiment pas utiliser une extension pour ses fichiers compilés? Si oui, cette langue meurt-elle vraiment très rapidement (ou ne sera jamais pleinement née) ...
Est-il juste de suggérer que vous devriez écrire et exécuter
propre code> avant de faire votre
git code> travail?
Eh bien, cela crée des exécutables lors de la construction. Donc, sur Windows, nous obtenons un fichier .exe, tandis que sur Linux, nous obtenons un elfe qui n'a pas d'extension de fichier (au moins par défaut).
Extension du commentaire de Sarnold, vous pouvez créer un crochet de pré-validation pour exécuter
faire propre code> avant chaque commit.
Je pense que Sarnold et les suggestions de 3Electrogo sont une bonne idée ici. Utilisation de
Go Clean Code> Je peux les essuyer dans le répertoire actuel, mais pas les sous-répertoires. Il pourrait y avoir une fonctionnalité construite dans le package propre, mais je dois jeter un coup d'œil à la source golang.org/src/cmd/go/clean.go Edit: Le drapeau -r provoque une utilisation propre à appliquer de manière récursive à toutes les 50 dépendances des packages nommés par les chemins d'importation. i > Cela fonctionnerait donc tant que le sous-répertoire a été appelé par les éléments de Toplevel.
@Matthew: les exécutables Linux n'ont normalement pas d'extensions, quelle que soit leur langue. C'est des objets et des bibliothèques qui font.
@JEfromi: correct. Une chose que j'ai faite maintenant consiste à ajouter une entrée telle que
*. Construire code> à mon gitiignore, puis exécutez la construction
go buande -o prog.build PROG CODE> Pour construire PROG.
Les deux
Test code> et
Go Install code> Typiquement (dépend de votre env) produisent un binaire en dehors du répertoire où sont les sources. Pourquoi devez-vous utiliser
Go Catégorie code> dans votre référentiel?