2009-02-09 12 views
2

J'utilise git pour Windows pour gérer un projet local. J'ai deux branches, 'master' et 'change_specific'. J'ai ajouté des fichiers supplémentaires à 'change_specific'. Ces fichiers n'apparaissent pas lorsque je passe à "master". Quand j'appelleFusionner des branches avec Git

git merge -m "don't need old branch" master change_specific 

git me dit "Déjà à jour Yeeah!". Pourtant, les branches semblent avoir des fichiers différents. Je voudrais supprimer 'change_specific' et en finir, mais j'ai peur que cela efface mes fichiers ajoutés - une mauvaise chose. Il semble que j'ai manqué quelque chose quand j'ai scanné la documentation git. Que se passe-t-il et que dois-je faire?

Répondre

10
# git checkout master 
# git merge change_specific 

Cela devrait le faire. git merge <branch1> <branch2> essaie réellement de fusionner trois branches, les deux vous avez donné sur la ligne de commande et la branche actuelle. Si deux d'entre eux sont identiques, cela peut expliquer le message "Déjà à jour".

Si vous n'êtes pas exposé vos modifications au monde mais je préfère un rebasage exécutée de:

# git checkout change_specific 
# git rebase master 
# git checkout master 
# git merge change_specific 

Cela appliquera les changements de la branche « changer _ spécifique » au maître en cours, la réécriture l'histoire linéairement. Après cela, vous pouvez supprimer en toute sécurité la branche "change_specific" avec git branch -d change_specific.

Questions connexes