8
votes

Un meilleur moyen d'utiliser git Ajouter?

En tant que noob git, essayez-le sur un projet de rails, je me demande si c'est une mauvaise pratique de faire git Ajouter. (Ajouter le répertoire actuel) avant chaque commit. Les didacticiels d'intro que j'ai vu montrer l'ajout du répertoire actuel initialement, puis vous utilisez git Ajouter NEW_FILE pour ajouter des fichiers après cela. Si j'ajoute un tas de fichiers d'un tas de répertoires différents, cela semble trop dur.

Essentiellement, si vous ajoutez plus d'un ou deux fichiers, assurez-vous d'utiliser git Ajouter. Chaque fois que je veux commettre? Utilise ajoutez. de la même manière que explicitement git ajoutez new_file pour chaque fichier créé depuis le dernier commit?

git

0 commentaires

6 Réponses :


4
votes

Peut-être git-commet -a fait ce que vous voulez? Il mettra en scène et valider tous les fichiers modifiés et / ou supprimés sous contrôle de la version.


0 commentaires

4
votes

Vous pouvez utiliser GIT COMMIT -A pour valider toutes les modifications aux fichiers déjà sous SourceControl (c'est comme la commande de validation de Subversion)


2 commentaires

Une explication entre GIT COMMIT -A et git add -u serait en ordre. Utilisation de Git Engagement -a peut conduire à ajouter inconsciemment des fichiers que l'on n'avait pas l'intention de.


@Sukima: GIT COMMIT -A ne commet que des fichiers déjà suivis. Il n'ajoutera jamais de nouveaux fichiers non traqués.



12
votes

git Ajouter. ajoutera tout ce qui est dans l'héritière, y compris de nouveaux fichiers. Si vous souhaitez suivre tous les fichiers dans le répertoire, c'est bien.

Une autre utilisation (peut-être plus commune) est de faire Git Engagt -a , qui ajoute uniquement les fichiers qui ont changé depuis la dernière commission avant de s'engager et n'incluent aucun nouveau fichier.

Edit: git Ajouter. Ne supprimera aucun fichier supprimé depuis la dernière commission. Si vous supprimez des fichiers, j'utiliserais git rm de sorte que GIT soit informé du fichier supprimé et que vous n'oubliez pas de vous assurer que Git sait qu'il a été supprimé. Comme mentionné dans un autre commentaire, git commit -a sera les fichiers qui ont été supprimés.


5 commentaires

Merci James. Donc, ce n'est pas inefficace ou redondant d'utiliser git ajouter. par opposition à l'ajout explicitement des fichiers individuellement? Il n'est pas mauvais de "ré-ajouter" des fichiers déjà ajoutés?


"Re-Ajout" Un fichier qui n'a pas changé n'a aucun effet sur quoi que ce soit, alors non, ce n'est pas mauvais. Je ne sais pas d'inefficace - git Ajouter. est instantané quand je l'utilise, mais je ne sais pas si cela reste le cas dans une grande héritière de dossier.


Cependant, git Ajouter. ajoutera des fichiers qui ne devraient probablement pas être, comme des sauvegardes de rédaction et une autre cruft éphémère aléatoire.


GIT COMMIT -A Va Inclure des fichiers non traqués! Ce que vous vouliez était git add -u qui ajoute des modifications de fichier suivies pas fichiers non traqués.


C'est pourquoi git ajoute -a existe. Il faut aussi des fichiers supprimés.



3
votes

En outre, vous pouvez apprécier le mode Mode interactif (' Git Ajouter -i '), ce qui peut accélérer les choses si vous devez ajouter de manière sélective un tas de fichiers. Vous pouvez le voir en action dans Ce GitCast .


5 commentaires

A déplacé ou a été remplacé. Trouvé cela à la place: blip.tv/scott-chacon/c3-add-interActive- 4113507


Merci@adiFferentben - bonne prise. Je mettrai à jour ma réponse avec votre correction.


@ewall: Mais la réponse n'a pas été mise à jour ?! Le lien est toujours 404.


@ADIFFERENTBEN: Votre lien est également 404. semble blip.tv est un mauvais site pour créer un lien vers.


Quelqu'un a archivé ces vids sur YouTube, apparemment, j'ai donc mis à jour le lien vers le point ici: YouTu.be/i2D2HYLOUUU



8
votes

Il n'y a rien de mal à utiliser " git Ajouter. " Si votre .gitignore est à jour et vous êtes sûr qu'il n'ajoute rien de ce que vous ne faites pas l'intention de suivre. Faire un "code> statut git " d'abord pour vérifier cela.

Je ne recommanderais pas de faire cela avant chaque commit, cependant, comme la plupart du temps (au moins pour la plupart des cas d'utilisation), vous modifiez les fichiers existants et n'ayant qu'ajouter un ou deux fichiers complètement nouveaux. Dans ces cas, " git add -u " et " git Ajouter " sont souvent moins fonctionnels comme avec " git Ajouter. " ou " git Ajouter -a " Vous devez toujours vérifier que vous n'ajoutez pas accidentellement de nouveaux fichiers qui étaient des fichiers temporaires et qui auraient dû être ignorés ou supprimés.

" git Ajouter. " serait très utile où vous savez que vous avez ajouté de nombreux nouveaux fichiers dans la hiérarchie commençant par le répertoire actuel et ne veulent pas les spécifier tous explicitement. Vous devez être sûr que tout ce que vous ne voulez pas ajouter est correctement ignoré.


0 commentaires

0
votes

Si votre progression est "à un seul filetage" ou simple ramifiée, il n'y a pas de problème intrinsèque, bien que diverses autres options aient les avantages que d'autres personnes ont suggéré. Toutefois, si vous avez plus d'une «fonctionnalité» dans cette branche que vous pourriez souhaiter intégrer sélectivement dans certaines succursales connexes, ce type de «commettez tout à chaque fois que chaque fois» apportera plus de travail à ce moment-là. Il existe probablement d'autres avantages de ce type (par exemple en utilisant git bisect ). S'il y a plus d'un fil logique au travail qui se produit, les séparez-les alors au moment de la validation peut payer de beaux dividendes plus tard.


0 commentaires