0

サーバー上でリポジトリを大きくしgit init --bareました。ブランチをそれにプッシュしたいと思います。

git push origin Dev

しかし、私は得る

remote fatal: you are a branch waiting to be born.

私は何を間違っていますか?
を使わなくてもうまくいくようです--bareが、それを使うべきだと思います。

編集:サーバーに受信後フックがある場合にのみ、これがエラーになります。私は受信後のフックにこれを持っています:

#!/bin/sh
GIT_WORK_TREE=/var/www/UML git checkout -f

これでやりたいことは、リモートにプッシュするときにWebサーバーを更新することです

そして私のgit設定:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[gui]
    wmstate = normal
    geometry = 887x427+25+25 330 192
[branch "master"]
[branch "Dev"]
[remote "origin"]
    url = ssh://mike628@192.168.2.2/GR
    fetch = +refs/heads/*:refs/remotes/origin/*
4

1 に答える 1

0

最初にリモート (ベア) リポジトリのクローンを作成したか、リモートをorigin適切に設定しましたか? 名前のブランチがDev存在し、コミットがありますか? そのブランチに少なくとも 1 つのコミットがあることを確認してください。


git reset --hardの代わりにフックを試してくださいgit checkout -f。また、最後に追加exit 0;してみてください(ただし、前のステートメントの終了コードを非表示にするだけです)。フックの何かが失敗しています。フックスクリプトに実行可能ビットが設定されていますか? git の介入なしにフック スクリプトをサーバー上で直接実行するとどうなりますか?

/var/www/UMLまた、スクリプトはgitデーモンを実行するユーザー/グループによって実行されるため、gitプロセスにディレクトリへの書き込み権限があることを確認してください

于 2011-07-16T14:03:08.600 に答える