мерзавец добавить к голому репо - PullRequest
0 голосов
/ 16 июля 2011

Я заполнил репозиторий: git init --bare на сервере, и я хочу нажать на него ветку.

git push origin Dev

Но я получаю

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

Что я делаю не так?
Кажется, это работает, если я не использую --bare, но я думаю, это то, что я должен использовать.

EDIT: Я получаю только эту ошибку, если у меня есть пост-получение крюк на сервере. У меня есть это в моем пост-получении крюк:

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

что я хочу, чтобы все это делалось, это обновлял веб-сервер, когда я нажимал на пульт

И мой конфиг 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/*

1 Ответ

0 голосов
/ 16 июля 2011

Вы сначала клонировали удаленный (пустой) репозиторий или правильно настроили пульт origin?ветка с именем Dev существует и имеет коммиты?убедитесь, что в вашей ветви есть хотя бы один коммит.


, попробуйте git reset --hard вместо git checkout -f.также попробуйте добавить exit 0; в конце (хотя это просто скроет код завершения оператора раньше).что-то в вашем крючке не получается.установлен ли исполняемый бит на вашем хуковом скрипте?что произойдет, если вы выполните скрипт ловушки непосредственно на сервере без вмешательства git?

также убедитесь, что у вашего процесса git есть права на запись в каталог /var/www/UML, так как скрипт выполняется пользователем / группой, который запускаетgit daemon

...