web-dev-qa-db-fra.com

Publication du référentiel Git local dans Team Foundation Service

Il y a environ une semaine, le support Git a été ajouté à Visual Studio 2012 et à Team Foundation Service. Je me suis un peu amusé avec elle et je voulais publier un référentiel local pour mon projet d'équipe. Cela est décrit à l'étape 2 sur le site Team Foundation Service website :

  • Publiez votre référentiel Git local dans votre nouveau projet d'équipe.

enter image description hereenter image description here

Maintenant, je fais exactement la même chose, mais je ne comprends pas l'élément de contexte "Publier vers ...". Serait-ce un bug ou est-ce que je manque quelque chose?

enter image description here

20
basvo

J'avais le même problème. Je ne sais pas pourquoi.

Cependant, après avoir joué un peu, j’ai réussi à faire fonctionner le Suivant. Déni de responsabilité: ne peut pas garantir que c’est la manière correcte de le faire . Cela peut faire bouger les choses plus loin. Et si cela fait la même chose que ce que l’élément de menu «Publier» manquant est censé faire, je n’en ai aucune idée. Utilisez à votre discrétion ...

  • Obtenez l'URL de votre dépôt git dans le projet que vous avez configuré dans TFS.
  • Editez le fichier .git/config sur votre référentiel local.
    • Configurez la télécommande Origin pour qu'elle pointe vers votre référentiel TFS.
    • (note: si vous avez déjà une télécommande Origin, vous voudrez peut-être la renommer d'abord pour la conserver)

par exemple.

[remote "Origin"]
    url = https://user.visualstudio.com/DefaultCollection/_git/YourRepo
    fetch = +refs/heads/*:refs/remotes/Origin/*
  • Ouvrez votre solution dans Visual Studio.
  • Editer un fichier.
  • Faites un commit.
  • Faites un push.

J'espère que cela devrait pousser votre dépôt local sur votre télécommande TFS en tant qu'origine.

À partir de là, les choses semblent fonctionner pour moi - le code est au moins dans mon interface Web TFS Et je peux y envoyer des commits. Je peux ajouter des éléments en retard, etc. Je ne connais pas encore TFS, donc je ne sais pas si tout fonctionne comme prévu.

12
ngm

J'avais juste le même problème, et la réponse de ngm n'a pas fonctionné; Je devais faire le contraire. La section ["Remote" d'origine "] se trouvait déjà dans mon fichier .git/config, mais le code du projet n'a pas été chargé dans TFS.

Pour résoudre ce problème, je viens de supprimer cette section du fichier de configuration, puis de redémarrer Visual Studio et de suivre les instructions officielles .

6
Tim Rae

J'ai eu exactement le même problème. J'ai pu résoudre ce problème en redémarrant complètement Visual Studio, en ouvrant Team Explorer, puis en naviguant vers mon référentiel local. J'ai ouvert mon fichier .sln local, puis cliqué sur "Modifications", "Valide" et il y avait ensuite une zone dans laquelle je pouvais publier le projet sur une URL. J'ai pris cette URL telle que: https://myapps.visualstudio.com/DefaultCollection/_git/MySolution puis j'ai cliqué sur "Publier" (je devais le faire deux fois.) Je peux maintenant m'engager dans le TFS et voir mon code en ligne.

3
Josh McKearin

J'ai eu le même problème. Je devais supprimer toutes mes télécommandes dans .git/config (pas seulement Origin) avant que l'option Publier ne soit disponible. Apparemment, Microsoft suppose que vous ne rêveriez jamais d’utiliser une autre télécommande.

2
Michael Welch

J'ai essayé tout ce qui précède, mais la seule façon de le faire fonctionner était d'utiliser git hub pour Windows. 

Pour que cela fonctionne, vous devez configurer d'autres informations d'identification. https://tfs.visualstudio.com/en-us/home/news/2012/aug-27/

1
Terence

Pour soumettre un référentiel local existant à TFS-Git:

  • Créer un nouveau projet dans TFS. 
  • À l’aide de Git Extensions, sélectionnez le référentiel local Que vous souhaitez transférer vers votre nouveau projet dans TFS.
  • Sélectionnez la flèche Push.
  • Sélectionnez Gérer les télécommandes.
  • Dans URL, entrez l'emplacement de votre projet TFS: https: // [nom de votre site ] .Visualstudio.com/DefaultCollection/_git/[nom de votre projet]
  • Sauvegarder. Voulez-vous configurer automatiquement Push and Pull? (J'ai dit oui.)
  • Fermer.
  • Sélectionner une liste déroulante pour Distant - sélectionnez l'URL distante que vous venez de sauvegarder .
  • Pousser.

Lors de la configuration de mon compte chez TFS, j’ai défini d’autres identifiants, bien que je ne sache pas s’ils étaient nécessaires pour ce processus.

Je suis nouveau dans GIT et TFS, mais ce processus m'a permis d'insérer deux de mes solutions, chacune avec trois projets dans TFS. De plus, dans Git Extensions, j'ai découvert que je pouvais organiser mes référentiels locaux en catégories, ce qui s'est avéré un moyen pratique d'organiser mes projets dans leurs solutions. Je voudrais faire la même chose dans TFS, aussi.

1
Ralph Roza

Je peux confirmer d'autres réponses, que le référentiel GIT ne peut pas avoir de télécommandes répertoriées ou que VS13 ne l'ajoutera pas au projet d'équipe. J'utilisais les outils Atlassian Stash/Bitbucket/SourceTree et dès que j'ai fermé VS13, supprimé toutes les télécommandes, rouvert VS13, ouvert le projet d'équipe et cliqué avec le bouton droit de la souris sur mon dépôt GIT local. L'option "Publier sur {teamProject}" était disponible et le fichier .sln était alors disponible en ouvrant le projet d'équipe.

1
hawkeyecoder

J'ai eu le même problème aujourd'hui, je ne comprenais pas pourquoi ce menu "Publier vers ..." n'apparaissait pas. J'ai découvert que c'était parce que vous deviez mapper un référentiel en ligne sur un référentiel local. .

Dans votre exemple, il semble que Gittyup en ligne soit déjà mappé sur Gittyup local. Vous devez donc créer un nouveau projet Git dans l'interface Web, puis vous y connecter dans VS, puis publier votre référentiel local sur celui en ligne.

1
Guillaume M

J'ai trouvé qu'il était utile de démarrer une nouvelle solution et de publier à partir de là, étape par étape.

Une fois que tout est «confus», il est préférable de recommencer le processus. Je l'ai fait fonctionner et jamais eu à éditer ce fichier.

1
niico

Dans la fenêtre Team Explorer, recherchez votre référentiel sous Référentiels Git locaux. Cliquez avec le bouton droit de la souris sur celle que vous souhaitez modifier, puis sélectionnez Ouvrir une invite de commande. Tapez maintenant git remote -v et il devrait vous afficher le nom distant et l'URL complète correspondant. Tapez git remote remove Origin en supposant que l'origine est le nom. de votre référentiel distant. Puis, git remote add Origin [url] remplace [url] par l’url réelle de votre référentiel.

Vous devriez maintenant être en mesure de pousser votre branche principale dans le référentiel de votre projet d'équipe.

1
JamesH

Créez le projet dans VSTS/GitHub/quelque part, puis à partir de Git Bash ...

git remote add Origin https://xxx.somewhere.com/_git/xxxProjectNamexxx
git Push -u Origin --all

0
kduenke

Même problème ici, sauf qu'au lieu d'éditer des fichiers de configuration git, il suffit de supprimer le dossier de référentiel git complet pour le projet. Rechargez le projet et recommencez avec l'action Code source sous fichier. Ajoutez ensuite toutes les modifications apportées au projet dans le Git local. Puis "Sync" et il affichera la zone de texte url.

0
Glen Herman