2011-09-30 5 views
1

J'ai quelques dépôts GIT que j'ai mis en miroir localement pour apparaître dans mon instance JIRA, mais j'ai remarqué un comportement étrange (pour moi).Git --bare ... Pourquoi fetch ne montre-t-il pas toujours les commits les plus récents?

J'ai un repo, nous l'appellerons "myrepo". Si je fais un clone git, et git pull, j'obtiens toujours les commits les plus récents.

Cependant, quand je fais un clone git --bare, quand je fais un "git fetch" à partir de mon dépôt nu, je ne vois pas les nouveaux commits apparaître dans mon "git log" .. Pourquoi est-ce?

Répondre

2

La récupération ne déplace pas votre HEAD. Par conséquent, le journal ne vous montre que l'historique d'où HEAD était avant le fetch. Essayez git log -all. Cela vous montrera l'histoire de toutes les branches, y compris celle à distance vous alla chercher dans.

également git log remoteBranchName fonctionnera si vous connaissez le nom de la branche à distance qui vous intéresse.

Si vous voulez que tous tout doit être synchronisé avec le maître distant, vous devez exécuter soit git fetch, puis git merge ou simplement exécuter git pull qui est le même que l'exécution de récupération et de fusion. Si vous préférez une branche spécifique - ex. maître - git pull origin master

+0

Merci. Comment rendre le référentiel nu courant avec le nouvel historique? Le plugin montre seulement, comme vous l'avez dit, d'où la tête était avant le fetch – Yablargo

+1

Un moyen serait 'git reset --soft shaToMoveHeadTo' – Andy

Questions connexes