2017-03-29 1 views
1

J'ai sur mon gitlab un repo git qui a été cloné à l'origine en utilisant git svn clone https://svn.url.com/project/trunk. J'avais l'habitude de dcommit au svn aussi bien que git push au gitlab de ma copie locale. Mais maintenant j'ai maintenant perdu la copie locale originale où je fais le clone git-svn de .. Je fais git clone de mon gitlab mais maintenant j'ai perdu la capacité d'aller chercher à partir du svn et de recommencer ... Est-ce que je peux restaurer il? Je ne l'ai jamais sauvegarder le dossier .git/svn dans le répertoire git ... :(git-svn: re-link git-svn cloné repo à svn

+0

Tu ne peux pas utiliser 'git reset HEAD --hard ~ n' revenir à la version originale? Note: 'n' est l'heure à laquelle vous vous êtes engagé localement, comme vous avez fait 2 commits avant d'utiliser' git push', donc vous pouvez utiliser 'git reset --hard HEAD ~ 2' pour restaurer la version que vous utilisez' git svn clone' . –

Répondre

2

Il est facile.

Ouvrez votre config git (sous .git/config)

et ajoutez ce qui suit à la fin

[svn-remote "svn"] 
     url = https://svn.url.com/ 
     fetch = :refs/remotes/git-svn 

vous pouvez git-fetch pour relier toutes vos révisions git-svn

PS: si elle prend trop de temps et/ou vos révisions sont trop beaucoup, vous pouvez directement passer votre refs/remotes/git-svn à la dernière révision svn-connu avant de faire le git-fetch par exemple:

git update-ref refs/remotes/git-svn refs/heads/master