4

チームをバージョン管理に TFS から git に移行したいと考えています。

次のことをしてはいけない理由はありますか?

  1. git-tfs を使用して中央の git リポジトリを作成する
  2. 各開発者に中央レポジトリのクローンを作成してもらい、そこからプルして、そこにプッシュします。
  3. そして、中央リポジトリからのみ tfs を更新しますか?

ありがとう!

4

3 に答える 3

3

git-tfs を使用して中央の git リポジトリを作成する

TFS にはすべてが含まれる中央リポジトリがあるため、これは危険な場合があります。 結果の git リポジトリは巨大なものになる可能性があります (複製するのは簡単ではありません)。

いくつかの小さなGit リポジトリgit-tfsを作成するために、いくつか作成することをお勧めします。

于 2012-01-13T07:33:05.220 に答える
1

Git と TFS である git-tfs の相互作用が完全ではないため (Git の主な特徴は、一度作成されたコミットを変更できないことと、git-tfs が機能しないことです)裸のリポジトリを使用する場合)、TFS の前に中央の Git リポジトリを配置するのは簡単ではありません...

それ以外の場合は、すべてのチームがこのワークフローを使用すると思いますが、これを行うという考えを考えるのをやめることができます (マージの競合のため、管理する必要があります)...

git-tfs は裸のリポジトリでは機能しないため、実際には 2 つの git リポジトリを同期する必要があります。プッシュする最初のもの(裸のもの)とTFSと対話する2番目のもの(git-tfsを使用する場所では裸ではありません)。

次に、2 つのオプションがあります。a) 複数の git commit がある場合でも、TFS で 1 つのコミットのみを受け入れる (git-tfs 'checkin' コマンドを使用) b) TFS で各 git commit をレプリケートする (使用する) git-tfs 'rcheckin' コミット)

最初のケース a) は優れているわけではありませんが、2 つのリポジトリ間で同期する新しい git コミットのみが常に存在するため、scipts と git フックを使用して解決する方が簡単です。

2 番目のケース b) は、私にとって唯一許容できるものですが、git リポジトリを git-tfs 'rcheckin' コマンドで同期すると、git コミットごとに新しいリポジトリが作成され、同期スクリプトが書くのがはるかに難しくなります (すべてのマージ競合が解決できるかどうかさえわかりません)。私はこれらのスクリプトを書き始めましたが、努力する価値がないのでやめました (特に、Visual Studio 2012 がソリューション ファイルがリロードされるたびにリロードの問題を解決したため)。それを行いたい場合は、以下の投稿のスクリプトが開始点として適切です...

結論から言うと、そんなことをする価値はないと思います。git-tfs を使用してローカル ワークフローを見つけることができます。これは非常に簡単で、git 中央リポジトリを必要としません...

しかし、それでも Git 中央リポジトリが必要な場合は、この投稿 ( http://sparethought.wordpress.com/2012/08/23/my-environment-for-day-to-day-work-with- git-tfs/ ) のハイブリッドな方法 (TFS へのコミットと git からのフェッチ) が機能しているようです。

于 2012-12-13T14:13:06.610 に答える
0

Team Foundation Server 2013 は、チーム プロジェクトのソース管理リポジトリとして Git をサポートするようになりました。Git 用の Visual Studio ツールは、Visual Studio に埋め込まれた Git アクセスを提供します ( 2012 のアドインは 2013 に同梱されています)。

于 2014-02-14T12:20:35.363 に答える