Подтвердить что ты не робот

Как я могу нажать мой существующий репозиторий Git в Team Foundation Service

Microsoft теперь поддерживает репозитории Git в своей службе Team Foundation. У меня есть учетная запись в Team Foundation Service, и я хотел бы нажать существующий репозиторий Git на проект там.

Всякий раз, когда я пытаюсь выполнять поиск, я продолжаю находить такие вещи, как TFS- GIT или GIT -TF. Я уверен, что я не хочу этого, поскольку я думаю, что они меняют модель Team Foundation Server для репозиториев кода, и это не то, что я хочу.

В частности, у меня есть существующий репозиторий Git, который я хочу нажать на TFService.

4b9b3361

Ответ 1

Ладно, я, по-видимому, это преувеличил. Вот что я сделал.

  • Создал новый проект в TFService
  • Подключен к этому проекту в Visual Studio
  • Клонированный этот проект в Visual Studio
  • git pull c:\source\oldGitProject

Вот и все, что изменилось из старого местоположения, и я мог легко довести это до TFService.

Ответ 2

"как я могу надавить существующий репозиторий git на TFService?"

Как только вы объявили репозиторий git на tfs.visualstudio.com(см. ниже), добавьте, что git репо url для пультов вашего собственного локального репо:

cd /path/to/local/repo
git remote add tfs url://tfs/git/repo
git push --mirror tfs

Этого будет достаточно, чтобы полностью вернуть историю вашего локального репо к новому восходящему репо на TFS.

Опять же, идея состоит в том, чтобы создать новое пустое репо на стороне восходящего потока (TFS) и нажать на него локальное репо.


(Оригинальный ответ)

Если я понимаю сообщение в блоге Скотта Хансельмана:

Для поддержки git потребуется VS2012.2 (в настоящее время в предварительном просмотре), поэтому сначала вам нужно установить его, а затем получить VSIX. Вы сможете обновить оба варианта, когда будет выпущен VS2012.2, и git VSIX будет продолжать автоматически обновляться через VS Gallery.

Это полный поставщик исходного кода для VS, поэтому вы можете использовать его для выполнения большинства действий, не выходя из VS, или вы можете выходить в командной строке и использовать его для визуального напоминания о состоянии вашего репозитория.

Для команд вы можете перейти на http://tfs.visualstudio.com и зарегистрироваться в учетной записи и бесплатно получить 5 пользователей. Вы можете выбрать git или Team Foundation Version Control (TFVC) в качестве поставщика источника и использовать все гибкие шаблоны Team Foundation, scrum или другие шаблоны для ваших инструментов ALM.

Процесс регистрации для проекта git показан здесь, снова указывая, что вам нужен "предварительный просмотр сообщества технологий" git VSIX поверх "предварительный просмотр технологии сообщества" обновления VS 2012 2 (VS2012.2).

Git project in TFS

Ответ 3

Некоторые хорошие ответы выше, но я нашел это еще проще.

  • Создайте локальный репозиторий Git. (Или, в моем случае, я преобразовал свой SVN-репозиторий в Git.)
  • Перейдите на visualstudio.com и создайте новый проект, указав Git в качестве источника.
  • Нажмите на пункт меню "Код" в новом проекте на VisualStudio.com.
  • На экране отобразится точная команда Git, чтобы нажать существующий репозиторий, , включая URL-адрес вашего уникального репозитория. Все, что вам нужно сделать, это скопировать и вставить эту команду в командную строку Git.

    git clone <repository url>

Ответ 4

Все, что нам нужно, это изменить целевой URL-адрес сервера существующего локального решения/репо.

Итак:

  • В облаке (TFService) создайте новый проект и получите его url.
  • На локальном компьютере откройте существующее решение/репо в Visual Studio и в консоли управления пакетами (PMC) выполните следующую команду

    git удаленный источник исходного кода https://new.url.here

  • Использование View > Team Explorer > Unsynched Commits вытесняет существующее решение/репо в новый проект.

Это приведет к локальному репо, включая все предыдущие коммиты, новому проекту TFS в облаке.

git командная строка FTW.

Все это делает обновление атрибута [url origin] в файле конфигурации, найденном в папке .git, поэтому вы можете просто использовать блокнот, если хотите открыть и отредактировать этот файл. IMHO эта команда более чистая, потому что вы не рискуете случайно изменить некоторые другие настройки, и вам не придется покидать VS.

Примечание. Если опция "Нажимать на шаге: 3" отключена, вам может потребоваться выполнить другую локальную фиксацию, чтобы "загрязнить" голову исходного дерева и, таким образом, включить команду push. Tho Я уверен, что для этого будет другая команда git.

Ответ 5

Один из блогов, которые я нашел сегодня утром, связал этот документ:

http://blogs.msdn.com/b/visualstudioalm/archive/2013/02/06/set-up-connect-and-publish-using-visual-studio-with-git.aspx#publish-tfs

Кажется, у них есть внутренняя команда под названием publish (которая может использовать команду -mirror, упомянутую @VonC?)

Я не уверен, что это еще работает.

Ответ 6

В эту проблему встал сегодня. Ответ VonC, добавив TFS как удаленный и используя git push --mirror tfs, работал у меня. Однако, возможно, было бы полезно упомянуть некоторые дополнительные вещи об этом.

  • После нажатия Visual Studio все еще не может определить, что это локальное репо подключено к службе Team Foundation. Таким образом, вам все равно нужно выбрать "Connect to Team Project..." и сделать "clone" с помощью интерфейса. Репо из TFS будет клонировано, и все будет просто нажато. После этого вы будете подключены к TFS и должны нормально работать в клоне.

  • Использование '--mirror' будет толкать все локальные ссылки, потенциально включая некоторые локальные ветки, которые вы действительно не хотите иметь в центральном репо. Если это так, после нажатия "-mirror", вы должны использовать git push tfs :<branchname>, чтобы удалить ветку из TFS, чтобы другие люди не удалили ваши локальные ветки.

  • В качестве альтернативы вместо "--mirror" должно быть возможно просто нажать нужные ссылки в репозиторий TFS, как и любой другой git репо: git push tfs <refspec>. Поскольку на этом этапе репозиторий TFS все еще пуст, связка названий ветвей одна за другой должна быть достаточной как <refspec>. При использовании этого метода вы также можете использовать use git push -u, который также сделает ветки, которые вы вставляете в пустые ветки отслеживания репо.

РЕДАКТИРОВАТЬ: Как упоминалось в комментарии Эдварда Томсона, клонирование из TFS должно быть ненужным, если исходное репо настроено на отслеживание ветки с удаленного TFS. Таким образом, git push -u <refspec> должен как толкать репо на пустой репозиторий TFS, так и позволить IDE распознавать исходное локальное репо, поскольку оно настраивает отслеживание.