Annuaire d'articles
enregistrement de scène commun git
en cours, dernière mise à jour 9.5
Tirez la branche distante A et fusionnez-la dans la branche locale B
Description des exigences
Lorsque je travaille avec une équipe, ma propre fonction de branche locale B a été implémentée et fusionnée dedans feature
, puis j'ai découvert que le code d'autres personnes y avait également été fusionné feature
. Afin d'éviter la mise en œuvre d'autres fonctions à l'avenir, il y aura des conflits lors de la fusion feature
, et il est décidé d'extraire la dernière feature
et de la fusionner dans la branche locale B.
Étapes de mise en œuvre
1. git checkout feature
Basculez la branche localement vers feature
2. git pull
Tirez la branche distante pour vous assurer que la branche actuelle est le dernier code
3. git checkout B
Basculez vers votre propre branche
4. git merge feature
Fusionnez la branche de fonctionnalité dans votre propre branche
La succursale locale B a un code qui n'a pas été ajouté ou validé
Description de la condition requise
Lors du développement sur la branche locale B, nous avons trouvé un bug dans la version précédente et la feature
nouvelle version de la branche a été mise à jour. Nous souhaitons feature
fusionner la mise à jour de version dans notre branche locale B.
Étapes de mise en œuvre
1. git stash -u
Stockez temporairement le code de l'espace de travail sur la branche B
2. git checkout feature
Basculez la branche localement vers feature
3. git pull
Extrayez la branche distante pour vous assurer que la branche actuelle est le code le plus récent
4. git checkout B
Basculez vers votre propre branche
5. git merge feature
Fusionnez la branche de fonctionnalité dans votre propre branche
6 .restaurer git stash pop
l'espace de travail sur la branche B
Supprimer le dernier commit
A été poussé vers la bibliothèque distante
Description du besoin
1. Après avoir validé le code, soumettez-le à la bibliothèque distante. Après avoir été examiné par le supérieur, il y a des problèmes de spécification du code, il doit donc être révisé et soumis. Cependant, comme le code implémente une fonction et qu'il y a peu d'endroits où le code a été modifié, il est nécessaire de supprimer la soumission précédente et de la soumettre à nouveau.
2. Après avoir soumis le code à la bibliothèque distante, j'ai constaté que certains fichiers de configuration locaux avaient été téléchargés ensemble, j'ai donc voulu supprimer le dernier commit et le soumettre à nouveau.
Analyse des besoins
1. Le code après modification locale doit être conservé et le code dans la zone de travail reste inchangé.
2. Puisqu'il a été poussé vers la bibliothèque distante, cela équivaut à la nécessité de revenir à la version précédente et supprimer la version actuelle de la bibliothèque distante
Étapes de mise en œuvre
1. git relog
Affichez le commithash qui doit être annulé ( le commithash du dernier commit est A, vous devez donc revenir à une version antérieure à A )
2. git reset --soft commithash
Revenez à la version spécifiée et conservez le code dans le travail zone inchangée.
Étant donné que le code de l'espace de travail reste inchangé, de nombreuses autres modifications de version après la validation existent toujours. Lors de la soumission, le code qui ne vous appartient pas sera soumis. Par conséquent, vous pouvez ignorer les modifications des autres versions, puis réexécuter [les étapes du code qui n'a pas été ajoutée et validée dans la branche locale B]
3. Réajoutez le commit
4. Puisque la bibliothèque locale est restaurée, la version est inférieure à la bibliothèque distante (la dernière version de la bibliothèque distante est celle que nous voulons supprimer), utilisez donc la git push -f
force pour soumettre la bibliothèque locale à la bibliothèque distante