2013-02-24 3 views
0

Я следую Dan Eden's Github workflow guide. Я столкнулся с проблемой при попытке нажать мои изменения в Github с моего пульта, используя git push -u origin master. Я добавил все файлы на сцену и взял их, и когда я использую команду выше, он возвращает это:Git push или pull не работает на удаленном сервере

To [email protected]:tomoakley/5-lines.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]:tomoakley/5-lines.git' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 
hint: before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

Так я пытаюсь использовать git pull, как это предполагает, что возвращает это:

git: 'pull' is not a git command. See 'git --help'. 

Did you mean this? 
    shell 

Я связался как мой веб-хостинга, которые говорят, что это не проблема с Git установки, а проблема с моими ключами SSH (с использованием ssh -T [email protected] возвращается с обычной проверкой подлинности сообщения), поэтому он не может быть что. Я также связался с Гитубом, который в настоящее время занимается расследованием. Парень поддержки Github сказал мне использовать SSH agent forwarding, который я сейчас делаю.

Несколько подробностей о моем сервере и мерзавцем:

  • git --version: мерзавец версия 1.7.12
  • git --exec-path:/USR/местные/libexec/ГИТ-ядро

Благодаря любой кто отвечает :)

+0

обычно на начальном толчке вы можете захотеть 'мерзавца толчке -f -u происхождения master' – three

+0

@ три великих, которые работают для толчка! Тем не менее, все еще не зафиксировано. Спасибо за помощь! :) –

+0

@three Сообщение об ошибке, которое он получает при нажатии, предполагает, что это не его первоначальный толчок, и он, конечно же, не должен заставлять его, если удаленная ветвь впереди его. – adamdunson

ответ

0

This answer к аналогичному вопросу предлагает установить разрешения на каталог/usr/local/libexec с помощью

sudo chmod a+rx /usr/local/libexec 

Не уверен, что это применит к вашей ситуации.

Другой вариант заключается в добавлении переменной GIT_EXEC_PATH в свой .bashrc (добавить это к основанию):

export GIT_EXEC_PATH=/usr/local/libexec/git-core 
+0

К сожалению, у меня нет доступа sudo на моем удаленном сервере. Любой другой способ я могу выполнить эту команду без участия sudo? –

+0

Не об этом я знаю. Можете ли вы проверить, работают ли 'git fetch' и' git merge'? – adamdunson

+0

Также см. Мой обновленный ответ о переменной GIT_EXEC_PATH. Вы должны иметь возможность запускать эту строку напрямую, чтобы увидеть, работает ли она, прежде чем добавлять ее в ваш .bashrc. – adamdunson

Смежные вопросы