2013-01-31 1 views
1

Disons que j'ai 2 commits dans mon journal git. Maintenant, je veux revenir à la première validation et modifier certains fichiers et ajouter cela comme troisième commit. Quand je tape git log je veux que 3 commits soient là sur la même branche. git reset --soft firstcommit puis en validant à nouveau ma seconde validation. Comment puis-je réaliser ce que je veux?Comment puis-je utiliser Git pour ajouter de nouvelles validations à la branche actuelle en fonction d'un commit précédent dans cette même branche?

+0

Pouvez-vous décrire ce qui est le journal comme enfin? – pktangyue

+0

Je veux que le journal ait la première validation, la deuxième validation ainsi que les troisièmes entrées de validation. Mais en git il me montre juste le premier et le troisième commit – user1667307

+0

Quel est le premier commit que vous voulez? Les changements qu'il a introduits ou l'état de ses fichiers? Voulez-vous que cette troisième validation annule les modifications qui ont été appliquées dans la seconde validation. – Chronial

Répondre

1

Supposons que vous soyez à la troisième place. Vous pouvez utiliser git cherry-pick secondcommit pour le récupérer.

Et le journal sera

firstcommit -> thirdcommit -> secondcommit 

Si vous voulez que le journal soit comme:

firstcommit -> secondcommit -> thridcommit 

vous pouvez faire:

git reset --hard secondcommit 
git cherry-pick thridcommit 
+0

Je ne connais pas le sha de la deuxième validation car il n'est pas affiché dans le journal git – user1667307

+0

vous pouvez utiliser 'git reflog' pour le trouver. – pktangyue

Questions connexes