40

hereの指示に従って gitosis をセットアップしようとしています。

リモートマシンからは正常に動作するため、サーバーは正常にセットアップされているようですが、別のユーザーアカウント (gitosis セットアップで作成された git ユーザーではありません) から gitosis サーバーマシンで開発を実行できるようにしたいと考えています。

キーをコピーし、他のユーザー アカウントがアクセスできるように gitosis.conf を変更しましたが、クローンを作成しようとすると、最後に次のように表示される以外は機能しているようです。

git Warning: remote HEAD refers to nonexistent ref, unable to checkout

そして、.gitを除いて空のディレクトリになってしまいます

私はこれについて少しグーグルで調べましたが、問題が何であるかについての本当の洞察はありません

4

7 に答える 7

25

私は何がうまくいかなかったのかを知りました。問題は、gitosis サーバーにプッシュしているときに警告に注意を払っていなかったため、特定のブランチをプッシュしていないことに気付かなかったことです。私はそれが電流をプッシュするだけだと思っていましたが、設定するまではそうではありません:

git config push.default current
于 2009-12-25T23:29:03.170 に答える
22
  1. git branch -rとを行うgit checkout -b master <remotebranchofinterest>

  2. HEADリモート .gitのファイルを確認します。

  3. 誰かがすでに質問しているかどうかを確認してください:こちら

于 2009-12-25T14:55:01.133 に答える
18

この警告のもう 1 つの考えられる原因はmaster、リポジトリ内のブランチが見つからない (または) リポジトリがマスター ブランチを使用していないことです。このような場合は、警告について心配する必要はありません。使用してください。

git checkout <some_existing_branch>

警告は、デフォルトでは、プル後に git が master ブランチにチェックアウトしようとするためです。

于 2012-08-21T12:53:59.843 に答える
2

同様の問題がありました。私の最初のプッシュでは、git push origin master:/refs/heads/master代わりに行ったようですgit push origin master:refs/heads/master(余分なスラッシュに注意してください)。これにより、マスターがのrefs/heads/refs/heads/master代わりに(リモートリポジトリに)配置されましたrefs/heads/master。修正は、リモートのフォルダーを再編成して再プッシュすることでした。

于 2011-07-01T07:21:16.367 に答える
1

複雑にしないでおく。サーバー上のユーザー アカウントの gitosis 認証と SSH キーに追加し、通常どおりクローンを作成します。

user@server$ git clone git@server:repo.git
于 2009-12-25T15:14:34.690 に答える
0

クローンを作成しようとしている場合はhttp://、1.6.6 よりも新しい git が必要であることに注意してください。それ以外の場合は、git://ベースの URI を使用する必要があります。

于 2012-03-27T11:16:35.030 に答える
0

私は tortoiseGit を使用していますが、コマンド ラインから git を使用する方法がわかりません。ですから、カメでこのような問題を回避するにはどうすればよいか、いつも疑問に思っています。だから多分私は一人ではない。私はこの方法で問題を修正しました:

  • リモートリポジトリのクローンを作成します
  • ルート フォルダを右クリックし、そこから既存のブランチを選択します。

私の場合、マスターのないブランチ「dev」しかありませんでした。そのため、クローンを作成しようとしたときに、チェックアウトするローカル ブランチがなく、「dev」に切り替えるとすぐに、すべてのコンテンツを正常にチェックアウトできました。それが役立つことを願っています。

于 2013-09-18T19:09:03.183 に答える