Git - отправка в удаленный репозиторий - PullRequest
1 голос
/ 22 августа 2011

Git новичок здесь.

создал новую папку:

mkdir hello_master
cd hello_master
touch test.txt
git init
git add test.txt
git commit test.txt

затем клонировал хранилище

    git clone hello_master hello_local
    # made some changes to test.txt and committed it

как мне нажать на hello_master? если я делаю git push, то жалуюсь, говоря, что я не могу нажать на hello_master. Но если я перейду к hello_master, я смогу вытащить все изменения из hello_local.

Что я делаю не так?

Ответы [ 4 ]

2 голосов
/ 22 августа 2011

Ничего.Вы просто не можете подтолкнуть к не голому хранилищу.Потому что git не знает, что делать с извлеченными файлами.

1 голос
/ 22 августа 2011

рекомендуется только , чтобы вы не продвигались к непрошеному репо. Есть способы подтолкнуть к непрошенному репо (конечно!):

1) Сообщение об ошибке само по себе будет говорить о настройке конфигурации receive.denyCurrentBranch для предупреждения или игнорирования.

2) Оформить новую ветку (скажем, временную) в репо. Теперь вы можете нажать мастер или любую другую ветку.

0 голосов
/ 23 августа 2011

Я подозреваю, что вы ищете ответ здесь: https://git.wiki.kernel.org/index.php/GitFaq#How_would_I_use_.22git_push.22_to_sync_out_of_a_host_that_I_cannot_pull_from.3F

но вкратце, вы не можете нажать напрямую, вам нужно создать ветвь на удаленной стороне. Это выглядит так: git push remote-box: / путь / к / git / мастер репо: refs / remotes / name-of-local-box / master

Затем, когда вы входите в «remote-box», вы можете объединить изменения, которые вы передали с другого компьютера, следующим образом: git merge name-of-local-box / master

0 голосов
/ 22 августа 2011

Вы предоставили не так много информации, но я полагаю, у вас проблема с «push to non-bare repo».
Используя Git, вы не можете перейти в не-bare-репозиторий (репозиторий с рабочей копией) в активную веткупотому что кто-то может работать в этой ветке, а вы можете испортить его работу.
Решение 1 - сделать основной репозиторий пустым;
решение 2 - извлечь hello_master в другую ветку;
решение 3 (из git help): 'Вы можете установить переменную конфигурации' receive.denyCurrentBranch 'в значение' ignore 'или' warn 'в удаленном репозитории, чтобы разрешить проталкивание в его текущую ветку;однако это не рекомендуется, если вы не решили обновить его рабочее дерево, чтобы оно соответствовало тому, что вы выдвинули другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...