2014-07-08 3 views
2

Je suis sur la branche master et j'ai fait 2 commits locaux (non poussés) en plus de commit qui est poussé à distance. Je veux obtenir ma branche principale de travail local en phase avec remote.So j'ai couru la commandegit checkout HEAD ~ 2 NUMÉRO

git checkout HEAD~2 

Je suis en mesure avec succès pour obtenir ma branche de travail actuelle à 2 engage en arrière et est synchronisé avec le maître à distance, mais localement je vois que je travaille sur « aucune branche »

[email protected] /c/legacytxn/PayPalOneSpot/OneSpot ((db39c78...)) 
$ git branch 
* (no branch) 
    master 

en raison de cela, je ne suis pas en mesure de faire plus tirer/pousser les opérations associées à cette personne branch.Can s'il vous plaît dire pourquoi est-ce comportement? Je suis nouveau à git si gentiment me dire si ma compréhension est fausse en tout cas?

Cordialement Gaurav Kaushik

+0

Est-ce que vous voulez garder vos deux commits locaux? – Chris

+0

Avez-vous essayé maître git check – V31

Répondre

2

Pour obtenir ce que vous voulez, exécutez la commande suivante:

git checkout -b newBranch && git reset --hard HEAD~2 

version sécurisée:

git checkout -b `date +"%m-%d-%y-%s"` 
git commit -am 'automatic'; 
git checkout master; 
git pull; 
git checkout -b newBranch && git reset --hard HEAD~2; 
+0

travaillé .. beaucoup :-) –

+0

yep; commande éditée – gpupo

+0

Cela doit être accompagné d'un avertissement géant indiquant que 'git reset --hard' supprimera tous les changements dans l'arbre de travail ou l'index qui ne sont pas validés. Cela dit, c'est le bon outil pour le travail. – Novelocrat

Questions connexes