2017-03-31 4 views
0

Bonjour, J'ai un référentiel sur Bitbucket. Je travaille avec un partenaire sur un projet et il a poussé quelques mises à jour il y a quelques mois, travaillant sur un fichier, j'ai réalisé qu'il avait mal fait le code. Je veux annuler cette validation, en particulier ce fichier uniquement pour que je puisse récupérer le code de ce fichier uniquement. cartitems.blade.phpRétablissement d'un ancien commit spécifique

Est-ce possible?

Ci-joint l'image de l'outil SourceTree. Les changements non validés sont mes nouveaux changements. Je veux garder ceux-ci et récupérer ce fichier spécifique seulement.

enter image description here

Répondre

0

Comme se débarrasser du dernier commit « pour le bien » pour que ce soit comme ça n'a pas eu lieu?

Supposons que le changement est déjà sur votre branche master:

git checkout master git reset --hard HEAD~1 git push origin master

Cela devrait être suffisant.

+1

Peut-être pousser la poussée? –

+0

'' 'git push -f origin master''', d'ailleurs ... git va se plaindre si vous le faites sans -f car origin/master est déjà passé le point où vous essayez de placer la branche maintenant. – eftshift0

+0

J'utilise SourceTree btw, pas le terminal git directement. – Waleed

0

Si vous l'avez déjà transféré dans votre référentiel et que vous travaillez dans une grande équipe, faites attention, car vos partenaires pourraient avoir des conflits de fusion frustrants en faisant cela.

2

Pour revenir seulement le fichier cartitems.blade.php (pas tout commit) vous pouvez checkout la version du fichier avant le « mauvais » commit:

git checkout 41123f6 -- resources/views/cart/cartitems.blade.php 

Maintenant, assurez-vous qu'aucun autre fichier sont mis en scène pour commettre et validez le fichier:

git add resources/views/cart/cartitems.blade.php 
git commit -m "Revert cartitems.blade.php" 

De cette façon, vous n'aurez pas à réécrire l'historique. Cependant, je ne suis pas sûr de pouvoir le faire avec l'interface graphique SourceTree. Vous pouvez utiliser le bouton "Terminal" dans le coin supérieur droit de SourceTree pour ouvrir le terminal.

0

Vous pouvez utiliser git revert pour annuler les effets d'un commit spécifique et créer un nouveau commit avec les modifications restaurées.

Dans ce cas

git revert 797832c 

va créer automatiquement une validation avec les changements renversées.