10
votes

Comment mettre à jour 'Git Journal' après 'Git Svn Fetch' sur un repo nu?

J'ai un référentiel de git-svn nu et j'ai fait un "git svn chercher" dessus.

Running 'Git Log' ne montre pas les mises à jour. Je suis sûr qu'il y a des mises à jour car elles affichent les fichiers modifiés après "git svn fetch" et "git svn log" les montre également.

Veuillez noter que j'ai délibérément fait cela un repo à nu afin que «git rebas» ne fonctionne pas. Quelle est la commande appropriée pour obtenir les modifications récupérées?


0 commentaires

3 Réponses :


6
votes

J'ai trouvé la réponse,

Git Symbolic-Ref Refs / Têtes / Master Refs / Remote / Git-Svn

Merci aux commentaires de Steven Walter dans http://gsocblog.jshaarpe.net/archives/12


0 commentaires

8
votes

Essayez GIT LOG GIT-SVN - Je n'ai pas de repo à nu, mais je viens d'exécuter git svn fetch et standard git bûche me donne le journal actuel (rebasé), mais avec le git-svn arg (qui est l'autre branche en dehors de la maîtrise identifiée par branche git-branche -a dans mon cas) je reçois le Connectez-vous à la révision extraite


1 commentaires

Yup tu as raison. 'Git Journal' recherche le Master Ref, c'est pourquoi il a fonctionné sur le 'Git Symbolic-ref / Refs / Têtes / Master Refs / Remote / Git-Svn'. Merci.



18
votes

A git svn fetch ajoute une nouvelle branche distante appelée télécommandes / git-svn (comme on peut le voir avec git branche -a ).

Si vous faites Modifications apportées au SVN UPSTRAM, puis exécutez git fetch à nouveau, les modifications sont tirées (réellement, récupérées) dans cette branche, pas sur le maître.

pour faire du journal git (et tout le reste) fonctionne correctement sur la branche principale, vous avez juste besoin d'une fusion, comme vous le feriez normalement à faire après une extraction (c'est ce que la traction GIT fait, une fetch et Ensuite, une fusion).

Puisque git svn tirer ne fonctionne pas, vous devrez la fusionner manuellement. Tandis que sur la branche principale, exécutez:

git fusion de télégotes / git-svn

Ceci fusionnera votre branche principale avec la branche GIT-SVN, faisant tout ce que ok encore.

donc à l'avenir, exécutez xxx

et vous serez à jour avec le référentiel en amont à nouveau.

Réglage de la tête de la tête de Master à la tête de Git-Svn Comme suggéré par Vjangus fera également ce travail, mais vous ne devriez jamais apporter des modifications dans une branche distante.


2 commentaires

C'était la réponse qui répondait correctement à la situation que j'avais.


J'avais initialement tiré le SVN Repo par git svn fetch -s -s -prefix = Origine / télécommandes / origin / coffre branche Au lieu d'un git-svn un. Même solution cependant.