2010-12-15 82 views
2

Donc je travaille avec un autre développeur et je veux tirer et pousser vers une branche distante (ce n'est pas le maître distant d'ailleurs) mais je veux mettre en place de sorte que quand je vérifier ma branche locale sur ma machine il va tirer et pousser à la branche distante sans avoir à le spécifier explicitement.Ma branche de suivi git locale ne fonctionne pas correctement. J'ai besoin de conseils sur la façon de le configurer

j'ai couru cette commande sur ma machine (supposons que la branche à distance est appelée développement et que la branche locale que je crée est appelée dev1):

git branch --track dev1 origin/development 

Puis vérifié ma branche locale dev1, modifié un fichier, mis en scène il, engagé et a ensuite tenté de pousser comme ceci:

git push origin 

Mais je suis ce message:

Everything up-to-date 

Aussi je remarqué des lignes supplémentaires dans mon .git/config peu après avoir créé dev1 et vérifié sur:

[branch "dev1"] 
    remote = origin 
    merge = refs/heads/development 

La question est ce que je suis absent? Fondamentalement, je tiens à le mettre en place pour que je chaque fois que je l'ai vérifié dev1 et exécutez:

git pull origin 

il tire automatiquement d'origine/de développement sans avoir à spécifier explicitement et quand je lance:

git push origin 

il pousse automatiquement à l'origine/développement sans avoir à le spécifier explicitement.

En outre, pourquoi m'a-t-il dit «Tout à jour» quand il y avait des changements clairs à pousser.

Répondre

1

Comme mentionné dans "Git push won't do anything (Everything up-to-date)", git push pousse uniquement les branches locales qui ont été configurées pour pousser vers une branche distante particulière.

Vous dev1 branche savez quoi tirer, pas où pousser, à cause de la push.default setting:

correspondant - pousser toutes les branches correspondant. Toutes les branches ayant le même nom aux deux extrémités sont considérées comme correspondant. C'est la valeur par défaut.

Étant donné que votre branche locale n'a pas le même nom que votre branche amont, voici votre problème.

Définissez push.default pour le suivi et cela fonctionnera.

suivi - Poussez la branche actuelle vers sa branche amont.

git remote show origin sera alors la liste des branches configurées pour être poussé à l'origine, et dev1 devrait figurer sur la liste alors.

+0

Merci cette information m'a vraiment aidé. Désolé pour la réponse d'acceptation tardive. Je suis parti pour quelques jours ici. – racl101