23

私はsvnリポジトリをgitに移行していました。クリーンな一時ディレクトリを作成し、git svn initを使用してそこにデータを取得し、リモートを追加してプッシュしました。次に、他の実際のソースディレクトリ(svnからのものをコミットする前に空のリポジトリからクローンを作成しました)でフェッチを実行しました。そして、私はチェックアウトをして、上記のメッセージを受け取りました。しばらくして、プルでソースを取得できると思い、それを実行しました。私の質問は、そのコンテキストでそのエラーメッセージが何を意味したのかということです。その特定のエラーメッセージをどのように取得しましたか?免責事項:私はgit初心者です

4

2 に答える 2

12

リモート参照とコミットのみをフェッチするフェッチでは、チェックアウトするためのローカルマスターブランチが提供されなかったためだと思います。空のレポジトリにいるので、ブランチにいることはありませんでした。そのため、移動するマスターgit checkoutブランチがありませんでした。

明示的に名前を付けることでリモートマスターを直接チェックアウトできgit checkout origin/masterますが、それではヘッドが切り離された状態のままになります。

プルを実行すると、フェッチしてマージされ、プルはリモートマスターを追跡するためのローカルマスターを作成しました。

于 2011-08-16T18:47:20.853 に答える
1

svnをgitに移行しようとすると同じエラーが発生していました。これが私の修正でした。

gitリポジトリを初期化したことを確認します。

git init

svnからの有効な移行が実際に行われたことを確認します。

git branch --remote

#You should see this output:
#git-svn

切り離されたヘッドを作成します。

git checkout git-svn

切り離されたヘッドをマスターブランチに変換します。

git checkout -b master

この時点で、gitリポジトリは正常に機能します。

于 2016-06-28T15:12:19.507 に答える