問題タブ [git-tfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - TFSリポジトリに対してgit-tfsと慣用的なgitブランチを使用するにはどうすればよいですか?
git-tfsを慣用的に使用するにはどうすればよいですか?
gitイディオムは、リポジトリのルートディレクトリへのブランチをチェックアウトすることです。ブランチをチェックアウトすると、ディレクトリの内容がそのブランチの内容に置き換えられます。
TFSのイディオムは、リポジトリのルートディレクトリの下にある別のディレクトリにある各ブランチをチェックアウトすることです(マスターブランチまたはトランクブランチも)。ブランチをチェックアウトすると、現在のディレクトリの隣の新しいディレクトリに配置されます。
git-tfsを使用すると、TFSリポジトリのクローンを作成したり、gitリポジトリにブランチしたりできます。gitブランチイディオムと一致する方法で、複数のブランチを持つTFSリポジトリで作業したいと思い ます。しかし、技術的に何が可能であるか、または推奨されているかはわかりません:)
TFSリポジトリ全体のクローンを作成する
リポジトリ全体をTFSから複製した場合
これにより、すべてのTFSブランチをディレクトリとしてmaster
含むgitが得られます。
TFSブランチごとにリモートを追加する
gitリモートを各TFSブランチにマップできるかどうか(またはその方法)はわかりません。
それで
私はこれが技術的に間違っていることを知っていますが、プレイしないとそれ以上のことはわかりません(私の唯一のTFSリポジトリは非常に大きく、実験には長い時間がかかります)
git - 同じソースツリーで GIT-TFS と GIT-SVN を使用するにはどうすればよいですか?
仕事で作りたいプロジェクトがある不必要に複雑ローカル ソース管理に git を使用すると簡単です。私たちは仕事で TFS を使用していますが、プロダクション リリースのためにソースをクライアントの SVN サーバーにプッシュする必要もあります。TFS は正式な記録のソースである必要があります [切り替えを説得力のあるケースにできるまで :-)]。
私は2 番目の部分でgit-svnを使用してきました。基本的には、マイルストーンで git にコミットしてから、svn にプッシュするだけです。
よりアクティブな開発のためにも、TFS の代わりに git を使用することに移行したいと考えていますが、両方のマッピングを同時に設定する方法/方法がわかりません。私が見たgit-tfsと git-svn の例はすべて、リポジトリのクローン作成から始まります。これには、リポジトリが空である必要があります。TFS マッピングを設定するためにクローンを作成する代わりに、追加できる何らかのメタデータはありますか?
マッピングも少し奇妙です (これは CMS サイトであるため、コア ファイルはソース管理に保存せず、カスタマイズのみを保存します)。
- タグ (SVN でのみ使用)
- ブランチ (SVN から、使用されません)
- トランク (SVN から、Web サイトにシンボリック リンク)
- Webサイト
- DesktopModules (TFS にマップ)
- ポータル (TFS でマップ)
- プロバイダー (TFS でマップ)
git は、ルートにマップされた SVN リポジトリと、さらに奥にマップされた TFS リポジトリを処理できますか?
TFS でマップされたフォルダーを削除してから、git-tfs からそれらを複製することはできますか?
tfs - メインへの一括マージ後のチェリーピッキング変更セット
3 つのブランチがあるとします。
また、Dev のいくつかの変更セット: 変更セット 1、2、および 3 と、3 つの変更セットすべてが一部のファイルに影響します。ある時点で、それらすべてを Main にマージし、3 つすべてのチェンジセットからの変更を含むチェンジセット 4 を取得します。
この時点でチェンジセット 2 もリリース ブランチにマージする必要がある場合はどうすればよいですか? Main から Release にマージしようとすると、変更セット 4 をマージしてから、File で行われた必要な編集のみを手動で含める必要があります。しかし、この場合、チェックイン後、チェンジセット 1 と 3 からの変更が含まれていないにもかかわらず、TFS はチェンジセット 4 全体をマージ済みとしてマークし、後でマージすることはありません。
各変更セットを Dev から Main に個別にマージすることで、この状況を回避できたことはわかっていますが、それは非常に面倒で、正しい方法とは思えません。
根拠のないマージを使用して、Dev から Release に直接移行することもできますが、それは極端な手段であると考えています。
他の方法はありますか?
git - git-tfsブリッジの使用に関するベストプラクティスと問題
さて、私は主に私が最近git-tfsで経験したことをコミュニティと共有するために、このトピックを始めました。
誰かが他に共有するものがあれば、それは私にも役立ちます。
visual-studio - VSがオンラインになろうとするのを抑制する方法はありますか?
ソリューションとTFSのバインドが構成されている場合、ソリューションを開くと、VSは次のように要求します。
または、TFSが利用できない場合は、一時的にオフラインで作業するか、バインディングを完全に削除するかを選択することを提案しました。
これらのダイアログを抑制する方法はありますか?
あなたにいくつかの文脈を与えるために。私たちのチームの一部はTFSを直接操作しており、他の部分はgit-tfsを介して作業しています。git-tfsを使用する場合-オンラインモードはまったく必要ありません。したがって、ソリューションを開いたり、ソリューションにプロジェクトをリロードしたりするたびに、同じことを何度も繰り返す必要があります。ただし、バインディングを削除できませんでした。TFSを直接操作しているユーザーは、TFSにシームレスに接続できなくなります。
git-tfs - リポジトリがチェックイン前にコード分析を必要とする場合、どのように git-tfs を使用できますか?
私はgit-tfsgit tfs checkintool
を使用しており、Git の変更を TFS にコミットするために使用しようとしています。TFS コミット ウィンドウが表示されるので、コミット コメントを入力して作業項目を関連付けます。しかし、[OK] をクリックすると、[ポリシーの失敗 - ポリシーの要件が満たされていないため、チェックインを続行できません] ダイアログが表示されます。ポリシー警告の説明は次のとおりです。
コード分析の内部エラー。ファイルまたはアセンブリ 'Microsoft.VisualStudio.CodeAnalysis.Sdk.UI, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
スクリーンショット:
驚くことではありませんが、Visual Studio で既にビルドしてコード分析を実行したかどうかに関係なく、この同じ DLL-not-found エラーが発生します。
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies に Microsoft.VisualStudio.CodeAnalysis.Sdk.UI.dll が見つかりました。楽しみのために、そのディレクトリを PATH に一時的に追加してみました (コマンド ラインから)。 :)set path=%path%;C:\Program Files\...
そして、git tfs checkintool
再び実行します。しかし、[OK]をクリックすると、同じエラーが再び発生しました。
ポリシーの失敗をオーバーライドしてコミットすることはできますが、チェックインするたびにそれを行うのは避けたいと思います。コード分析ポリシーを完全に無効にすることもできますが、それはほとんど正当化されないようです。
git tfs checkintool
この DLL を見つけて、正常にコミットできるようにする方法はありますか?
git - シェルブセットを作成しようとしている「認識されていない ID」を与える Git-TFS
私はgit-tfsを使用していますが、その機能の多くは正常に動作します。引っ張ることができ、チェックインツールを使用できます。しかし、シェルフセットを作成できません。しようとするとgit tfs shelve ShelveSetName
、次のエラーが表示されます。
TF14045: ID MYDOMAIN\Joe White は認識された ID ではありません。
奇妙な理由git tfs shelve
で、ユーザー名の代わりに自分の名前 (「Joe White」、スペースを含む) に対して認証しようとしているように見えます。もちろん、ユーザー名にスペースを含めることはできないため、認証に失敗します。
git tfs shelve
現在ログインしている Windows ユーザー資格情報を使用して、正しく認証するにはどうすればよいですか?
git-tfs - タグを扱うgit-tfs
git-tfsの統合と、それがラベルをどのように処理するかについて質問があります。
git-tfsを使用している間、ラベルをどのように処理しますか?それらはgitにインポートされていますか?
変更をtfsにプッシュバックするときに、「タグ」も「エクスポート」されますか?
ありがとう
git - git-パス変数の設定
次のコマンドを実行してgitbashのパス変数を変更すると、機能します。
いくつかのgit-tfsコマンドを実行すると、元の設定に戻ります。
理由を説明することは可能ですか?
$ PATH = $ PATH:私のgit-tfsパスはここにあります
明確にするために、それは最初に機能します。ただし、git-tfsコマンドが機能しなくなります。これは、git-tfsコマンドが存在するフォルダーがパスに表示されなくなったためです。
編集:bashを閉じると、変更は保存されません。
git - チームでgittfsを使用する方法
私は最近、git tfsを使用して、ローカルでgitを使用して作業とコミットを行い、tfsにコミットして、継続的インテグレーションシステムを通過し、チームメンバーと共有することを開始しました。
ソース管理にgitを使用してブランチと変更を共有し、最終的に継続的インテグレーションのためにtfsにチェックインして、チームとのコラボレーションを開始したいと思います。
それは私にできることですか、それともgit tfsはローカルで作業している1人だけのものですか?