Je ne sais pas si tel est un moyen approprié de travailler avec des branches. P>
Demande: P>
3 Réponses :
Si vous avez créé une branche distincte qui a été gâchée, tout ce que vous avez à faire est de passer à celui que vous étiez auparavant: Vous pouvez supprimer la branche Bad plus tard, si vous le souhaitez, avec edit: strong> Si votre référentiel contient beaucoup de mauvaises modifications que vous souhaitez supprimer, vous pouvez utiliser de la commande git a code> (supposant
A code> est le nom de la succursale que vous étiez sur ... ou peut-être que c'est
maître code>). p>
Git Branch -d
-f code> aussi, s'il n'y a pas non mérité commettre. p>
git reset --hard tête code> pour les annuler. S'il y a de nouveaux fichiers (non suivis par Git),
git clean -fd code> les supprimera tous. Évidemment, utilisez avec la discrétion car ils ne seront pas recouvrés par Git. P>
@Dan: Quand j'ai créé la nouvelle branche, je crois, je n'ai pas été basculé sur cette branche automatiquement. Après avoir créé la branche, je travaille toujours sur ma branche principale que je suppose. Il semble que cela vient de prendre un instantané. Donc, ma branche principale est gâchée. Je veux appliquer la structure qui se trouve sur mon autre branche, dans la branche principale. BTW, devrions-nous éviter de travailler directement sur notre branche principale?
@MEM - Y a-t-il mal comme Maître? Sinon, alors lors de la maîtrise, git reset --hard code> annulera des modifications non engagées. Si vous avez commis de mauvais commits, utilisez
git revert
git fusionner un code> lors de la maîtrise qui corrige avec espoir des choses. Si vous ne savez pas où le mauvais commit était, regardez dans Git Bisect - très cool.
@Dan - j'ai fait GIT RESET - mais je vois des fichiers créés (et non engagés) après la création de la succursale. Peut-être que je devrais faire autre chose?
@MEM - Avez-vous besoin de ces fichiers? S'ils n'étaient jamais en git, ils ne sont pas nécessaires, supprimez-les simplement de votre système de fichiers. Nous ne pouvons pas être sur la même page de l'état de votre référentiel. Peut-être mettre à jour votre message avec certaines sorties de l'état de git / branche / etc.
Eh bien, cette question est morte je crois. :( Je finis par résoudre ce problème en utilisant une option NetBeans: "rétablir toutes les modifications non engagées dans l'arbre de travail et l'index" et j'ai également cliquez sur: "Supprimer également de nouveaux fichiers et dossiers". Avec cela, je l'ai bien compris. Mais Je ne sais pas, si cela correspond à une commande git. Lorsque j'ai réinitialisé GIT, pas de fichiers ni de dossiers qui ont changé. Lorsque je choisis ces options, ces fichiers comme des dossiers étaient également partis. Alors NetBeans OptitiSn ne sont pas = Pour, Git Reset --hard. Je ne sais toujours pas comment revenir. Je peux donner le statut mais je pense que cela n'est pas utile sur cet état. Ainsi, NVM.
@MEM I juste essayé git clean -fd code> et qui supprimera tous les fichiers non traqués. Je ne sais pas si Netbeans utilise cette commande ou le fait-il manuellement, mais pour une référence future, y a-t-il.
Joli! Oui, peut-être que NetBeans utilise cela. Ne peut pas être sûr. Par des fichiers non traqués que vous voulez dire, non engagé ou non ajouté de fichiers? - BTW, veuillez éditer votre question en conséquence, sinon cela n'aura pas de sens aux autres.
@MEM - Oui, les fichiers qui ne sont pas dans Git, qui incluent des nouveaux non encore engagés, ainsi que tout dans votre fichier .gitignore. Je vais ajouter cela à ma réponse et vous voudrez peut-être modifier la question pour utiliser une terminologie mise à jour afin que d'autres utilisateurs ayant des situations similaires puissent le trouver.
Je pense que vous ne créé la branche avec:
git checkout Z git reset --soft HEAD^ git checkout master git commit -m "blah blah"
S'il vous plaît gardez votre réponse car il contient des notions importantes que je dois comprendre. Cela n'a pas fonctionné. Ce dont j'ai besoin est de: saisir la branche z et placez-la comme un maître - est-ce possible?
Merci beaucoup magnus. Désolé pour tout ce gâchis. :( Je finis par réaliser que je ne savais pas ce que je cherchais dans le jargon Git. Désolé encore.
J'ai besoin d'inverser pour structurer un "instantané" sur la branche Z p>
xxx pré> en anglais: p>
Supprimer votre succursale "Z" et rééparez-la de l'état actuel de "A". P>
Réinitialiser votre Une succursale en arrière trois commits. C'est un exemple - trois n'est probablement pas la bonne profondeur de votre histoire à réinitialiser. Changez ce numéro pour être le bon numéro (et utiliser
Git journal code> pour déterminer que le nombre de commits de vos branches a divergé). P>
Basculer sur votre branche Z et confirmez que Vos changements autrefois dans "A" sont maintenant dans "Z". P> BlockQuote>
Désolée de vous avoir fait perdre votre temps. En effet j'ai eu une mauvaise question. Pourtant, si cela ne vous dérange pas, veuillez ne pas supprimer votre réponse car elle est sûre.