J'ai deux projets. Le premier est le projet "officiel" et le second est une légère modification (quelques fichiers ajoutés). J'ai créé une nouvelle branche et je leur ai mis de nouveaux fichiers. Mais au cours du développement, certains fichiers communs aux deux branches sont modifiés.
Comment valider uniquement ces fichiers?
git
git-branch
git-commit
Nips
la source
la source
Réponses:
Je suppose que vous souhaitez valider les modifications dans une branche, puis rendre ces modifications visibles dans l'autre branche. Dans git, vous ne devriez avoir aucun changement au-dessus de HEAD lorsque vous changez de branche.
Vous validez uniquement les fichiers modifiés en:
Ou si vous êtes sûr d'avoir une zone de rassemblement propre, vous pouvez
Si vous souhaitez rendre ce commit disponible sur les deux branches, vous le faites
la source
git commit [some files]
qui implique le--only
changement) doit être utilisé. Le premier exemple (git add [some files]
suivi degit commit
) validera également toutes les autres modifications qui avaient été mises en scène.Obtenez une liste des fichiers que vous souhaitez valider
Ajouter les fichiers au transfert
Vérifiez ce que vous vous engagez
Validez les fichiers avec un message de validation
Si vous validez accidentellement les mauvais fichiers
Si vous souhaitez décompresser les fichiers et recommencer
la source
Vous pouvez valider des fichiers mis à jour, comme ceci:
la source
Une partie de cela semble "incomplète"
Les groupes de personnes ne sauront pas s'ils doivent utiliser des guillemets, etc.
Ajoutez 1 fichier spécifique montrant également les chemins d'accès
Valider (rappelez-vous, la validation est uniquement locale, elle n'affecte aucun autre système)
Push to repo distant
Autre (s) réponse (s) montrent la cachette etc. que vous voudrez parfois faire
la source
Si vous avez déjà des fichiers intermédiaires, décompressez-les simplement:
Ajoutez-les ensuite petit à petit.
la source
Supposons que vous ayez apporté des modifications à plusieurs fichiers, comme:
Mais vous ne souhaitez valider que les modifications de File1 et File3.
Il existe deux façons de procéder:
1.Étapez seulement ces deux fichiers en utilisant:
puis, engagez
puis poussez,
2. commit direct
puis poussez,
En fait, la première méthode est utile dans le cas où nous modifions des fichiers régulièrement et les mettons en scène -> Grands projets, généralement des projets Live.
Mais si nous modifions des fichiers sans les mettre en scène, nous pouvons faire une validation directe -> Petits projets
la source
--only
. Ensuite, ce serait la même commandegit commit --only file1 --only file3 -m "my message"
ou en utilisant un raccourci commegit commit -o file1 -o file3 -m "my message"
référence: git-scm.com/docs/git-commitC'est une approche simple si vous n'avez pas beaucoup de changements de code:
Ensuite, si vous voulez que le code que vous avez supprimé (bits que vous n'avez pas validés) dans une validation distincte ou une autre branche, alors tout en restant sur cette branche, faites:
Avec l'étape 5 comme vous avez déjà appliqué la stash et validé le code que vous vouliez à l'étape 4, le diff et non suivi dans la stash nouvellement appliquée est juste le code que vous avez supprimé à l'étape 3 avant de vous engager à l'étape 4.
En tant que telle, l'étape 6 est une cachette du code que vous n'avez pas [voulu] valider, car vous ne voulez probablement pas vraiment perdre ces modifications, n'est-ce pas? Ainsi, le nouveau stash de l'étape 6 peut maintenant être validé dans cette branche ou dans n'importe quelle autre en faisant git stash appliquer sur la bonne branche et en le validant.
Évidemment, cela suppose que vous effectuez les étapes en un seul flux, si vous planifiez à tout autre moment de ces étapes, vous devrez noter la référence de la stash pour chaque étape ci-dessus (plutôt que simplement la stash de base et appliquer la stash la plus récente).
la source