git lors du changement de dépôt
-
07-07-2019 - |
Question
Je suis habitué à tirer d'un dépôt git de quelqu'un. Aujourd'hui, il a déplacé son référentiel à une autre adresse. Je me demande s’il est possible pour moi de tirer de la nouvelle adresse et d’obtenir des informations sur les changements qu’il a effectués par rapport à la dernière fois avant son déménagement.
Ce que j'ai fait est "git clone newaddress" sous mon référentiel tiré de son ancien. La sortie est comme:
j'ai xxx
marcher xxx
j'ai xxx
j'ai xxx
marcher xxx
Obtenir la liste des remplaçants pour la nouvelle adresse
Obtention de la liste de packs pour nouvelle adresse
Obtention de l'index pour le pack xxx
Obtention du pack xxx
qui contient xxx
j'ai xxx
j'ai xxx
marcher xxx
...
Ensuite, j'ai "git pull". et a le message suivant que je ne comprends pas:
Vous m'avez demandé de tirer sans me dire quelle branche vous avez vouloir fusionner avec, et 'branch.master.merge' dans votre fichier de configuration ne me dit pas non plus. S'il vous plaît nommer la branche que vous souhaitez fusionner sur la ligne de commande et essayez à nouveau (par exemple, "git pull"). Voir git-pull (1) pour plus de détails sur les références.
Si vous fusionnez souvent avec la même branche, vous voudrez peut-être configurer les variables suivantes dans votre configuration fichier:
branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec>
Voir git-config (1) pour plus de détails.
Que puis-je faire maintenant pour pouvoir toujours obtenir l’information sur les changements qu’il a apportés par rapport à la dernière fois avant son déménagement?
Merci et salutations!
La solution
Si je comprends bien votre question, vous cherchez à remplacer votre origine distante actuelle par une nouvelle. Je ne sais pas si vous pouvez le remplacer à partir de la ligne de commande, mais vous pouvez le changer dans votre .git / config
(cela se trouve dans le répertoire de votre projet)
VIEUX
[remote "origin"]
url = git+ssh://original_repository.com/my_project.git
...
NOUVEAU
[remote "origin"]
url = git+ssh://new_repository.com/my_project.git
...
La partie git + ssh
pourrait ressembler à git @
(c'est ce que vous feriez si vous utilisiez github), ou je suis sûr que plusieurs autres choses. Cela pourrait aider à éclaircir certaines choses que j'ai laissées de côté ou que je n'ai pas suffisamment bien expliquées: Changer votre origine .
J'espère que cela aide à répondre à votre question. Cheers.
Autres conseils
Exécutez cette opération dans votre référentiel git cloné:
git config branch.master.remote origin
prendre soin du message "Vous m'avez demandé de tirer sans me dire" ... le message. "
Ensuite, si vous savez où le référentiel distant a été déplacé, vous pouvez créer dans votre nouveau référentiel local cloné un git diff
depuis cette date.
$ git diff "@{yesterday}"
$ git whatchanged --since="2 weeks ago"
Remarque: les prochaines git1.6.5 mentionnent
Format de date inscriptible par l’homme avec diverses options, par exemple. "
- depuis = hier
", "master @ {2000.09.17}
", "sont formés pour déduire correctement certaines entrées omises.
Voir aussi la question SO "