web-dev-qa-db-ja.com

ローカルのGitリポジトリをTeamFoundationServiceに公開する

約1週間前、GitサポートがVisual Studio2012とTeamFoundationServiceに追加されました。私はそれを少し遊んでいて、ローカルリポジトリをチームプロジェクトに公開したいと思っていました。 Team Foundation Serviceのステップ2で説明されています ウェブサイト

  • ローカルのGitリポジトリを新しいチームプロジェクトに公開します。

enter image description hereenter image description here

今はまったく同じことをしていますが、「Publishto ...」コンテキストアイテムが表示されません。これはバグでしょうか、それとも何かが足りないのでしょうか?

enter image description here

20
basvo

私も同じ問題を抱えていました。理由はわかりません。

しかし、少し遊んだ後、私はなんとか次のことがうまくいくようになりました。免責事項:これが実際にそれを行う正しい方法であることを保証することはできません。それは物事をさらに混乱させるかもしれません。そして、それが欠落している「公開」メニュー項目が行うことになっていることと同じことをするかどうか、私にはわかりません。あなたの裁量で使用してください...

  • TFSで設定したプロジェクトのgitリポジトリのURLを取得します。
  • ローカルリポジトリの.git/configファイルを編集します。
    • TFSリポジトリを指すようにOriginリモートを構成します。
    • (注:すでにOriginリモートを使用している場合は、最初に名前を変更して保持することをお勧めします)

例えば.

[remote "Origin"]
    url = https://user.visualstudio.com/DefaultCollection/_git/YourRepo
    fetch = +refs/heads/*:refs/remotes/Origin/*
  • VisualStudioでソリューションを開きます。
  • ファイルを編集します。
  • コミットします。
  • プッシュを実行します。

これにより、ローカルリポジトリをOriginとしてTFSリモートにプッシュできるはずです。

ここからは、うまく機能しているように見えます。コードは少なくともTFS Webインターフェイスにあり、コミットをプッシュできます。バックログアイテムなどを追加できます。TFSは初めてですが、実際にすべて正常に機能しているかどうかはわかりません。

12
ngm

私はちょうど同じ問題を抱えていました、そしてngmによる答えはうまくいきませんでした。私は反対のことをしなければなりませんでした。 [remote "Origin"]セクションはすでに私の.git/configファイルにありましたが、プロジェクトコードはTFSにアップロードされませんでした。

これを修正するには、構成ファイルからそのセクションを削除してから、Visual Studioを再起動し、 公式の指示 に従いました。

6
Tim Rae

私はこれとまったく同じ問題を抱えていました。 Visual Studioを完全に再起動し、チームエクスプローラーを開いてから、ローカルリポジトリに移動することで、問題を解決できました。ローカルの.slnを開き、[変更]、[コミット]の順にクリックすると、プロジェクトをURLに公開できる領域がありました。次のようなURLを取得しました: https://myapps.visualstudio.com/DefaultCollection/_git/MySolution 次に、[公開]をクリックしました(2回実行する必要がありました)。これで、コミットできます。 TFSを使用して、コードをオンラインで表示します。

3
Josh McKearin

私も同じ問題を抱えていました。 [公開]オプションを使用する前に、(Originだけでなく).git/config内のすべてのリモートを削除する必要がありました。どうやら、マイクロソフトはあなたが別のリモコンを使うことさえ夢にも思わないだろうと思っています。

2
Michael Welch

上記のすべてを試しましたが、それを機能させる唯一の方法は、Windows用のgitハブを使用することでした。

これを機能させるには、代替の資格情報を設定する必要があります。 https://tfs.visualstudio.com/en-us/home/news/2012/aug-27/

1
Terence

既存のローカルリポジトリをTFS-Gitに送信するには:

  • TFSで新しいプロジェクトを作成します。
  • Git Extensionsを使用して、TFSの新しいプロジェクトにプッシュするローカルリポジトリを選択します。
  • プッシュ矢印を選択します。
  • [リモートの管理]を選択します。
  • URLに、TFSプロジェクトの場所を入力します:https:// [サイト名] .visualstudio.com/DefaultCollection/_git/[プロジェクト名]
  • 保存する。プッシュとプルを自動的に構成しますか? (もちろん。)
  • 閉じる。
  • リモートのドロップダウンボックスを選択します-保存したリモートURLを選択します。
  • 押す。

TFSでアカウントを設定するときに、別の資格情報を設定しましたが、このプロセスに必要かどうかはわかりません。

私はGITとTFSを初めて使用しますが、このプロセスにより、それぞれ3つのプロジェクトを持つ2つのソリューションをTFSにプッシュすることができました。また、Git Extensions内で、ローカルリポジトリをカテゴリに整理できることがわかりました。これは、プロジェクトをソリューションに整理するための便利な方法であることがわかりました。 TFSでも同じことをしたいと思います。

1
Ralph Roza

他の回答を確認できます。GITリポジトリにリモートをリストすることはできません。または、VS13はそれをチームプロジェクトに追加しません。 AtlassianツールのStash/Bitbucket/SourceTreeを使用していて、VS13を閉じたらすぐに、すべてのリモートを削除し、VS13を再度開いて、チームプロジェクトを開き、ローカルのGITリポジトリを右クリックしました。 「{teamProject}に公開」オプションが利用可能になり、チームプロジェクトを開くことで.slnが利用可能になりました。

1
hawkeyecoder

今日も同じ問題がありました。なぜこの「公開先...」メニューが表示されないのか理解できませんでした。これは、1つのオンラインリポジトリをローカルリポジトリにマップする必要があるためであることがわかりました。

あなたの例では、GittyuponlineはすでにGittyuplocalにマップされているようです。そのため、Webインターフェイスで新しいGitプロジェクトを作成し、VSで接続してから、ローカルリポジトリをオンラインリポジトリに公開できます。

1
Guillaume M

新しいソリューションを開始し、そこから段階的に公開することが役立つことがわかりました。

それ自体が「混乱」したら、プロセスを最初からやり直すのが最善です。私はそれを機能させ、そのファイルを編集する必要はありませんでした。

1
niico

チームエクスプローラーウィンドウで、ローカルGitリポジトリーの下にリポジトリーを見つけます。変更するものを右クリックして、[コマンドプロンプトを開く]を選択します。 git remote -vと入力すると、リモート名とその完全なURLが表示されます。 Originがリモートリポジトリの名前であると仮定して、git remote remove Originと入力します。次に、git remote add Origin [url] [url]をリポジトリの実際のURLに置き換えます。

これで、マスターブランチをチームプロジェクトのリポジトリにプッシュできるようになります。

1
JamesH

VSTS/GitHub /どこかにプロジェクトを作成してから、GitBashから...

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

0
kduenke

ここでも同じ問題がありますが、git configファイルを編集する代わりに、プロジェクトのgitリポジトリフォルダー全体を削除するだけです。プロジェクトをリロードし、ファイルの下のソースコードアクションからやり直します。次に、プロジェクトへのすべての変更をローカルGitに追加します。次に「同期」すると、URLテキストボックスが表示されます。

0
Glen Herman