1

tfs に入れることを余儀なくされている既存の git リポジトリがあります。git-tfs ツールを使用したいのですが、これを行う方法が一生わかりません。私が見た例はすべて git tfs clone で始まりますが、既に git リポジトリがあり、その上で「チェックイン」を実行したいと考えています。

編集:必要な反対のシナリオに基づいて、指示をまとめてみました。空のプロジェクトを作成して tfs に追加しようとしましたが、コードを git からコピーしましたが、履歴が失われました (これは望ましくありません)。ここで探しているのは、必要なことを達成するための一連の手順です。

4

1 に答える 1

4

実際、git-tfs は TFS リポジトリを複製することによってのみ機能します。

TFS にチェックインするブランチが多くないことを願っています。

まず、tfs に空のリポジトリを作成します。

古い解決策(この方法を取りたい場合はまだ有効です...):tfsでクローンします。これは簡単に実行できるはずで、この新しい git リポジトリにはファイルのないコミットが 1 つだけあるはずです。

次に、既存の git リポジトリにリモートを追加し、リモート マスターを新しいリポジトリの最初のコミットにリベースします。

新しい解決策:このスクリプトを使用してください

次に、「git tfs rcheckin」を使用してすべての履歴をコミットします。それは非常に長いはずです:(

その後、コミットしたいブランチがあり、git-tfs 0.17.1 の最新バージョンがある場合は、適切なリビジョンを抽出し、次のコマンドで tfs ブランチを作成します。

git tfs ブランチ Name_of_my_branch

git ブランチのすべてのコミットをリベースし、次のように rcheckin を使用します: git tfs rcheckin -i Name_of_my_branch

すべてのブランチに対してそれを行うと、それは良いはずです...

ただし、マージコミットを行っている場合、それらはすべてプロセスで失われることを付け加えておく必要があります:(既存のgitリポジトリほど美しいリポジトリはありません

PS :

于 2013-04-02T16:23:42.223 に答える