Git пульты обычно имеют одно местоположение для извлечения (используется pull и clone) и pu sh, но они могут быть разными. Поскольку вы можете клонировать (получать), но не pu sh, возможно, они как-то разошлись.
Вы можете проверить с помощью git remote -v
. Вы должны увидеть что-то вроде этого.
$ git remote -v
origin git@github.com:rails/rails.git (fetch)
origin git@github.com:rails/rails.git (push)
Здесь я использую пример репозитория Github Rails. И fetch, и pu sh одинаковы. Если они отличаются, это, вероятно, ваша проблема.
Это может быть связано с тем, что у вас установлены remote.pushDefault
или другие remote.*
значения конфигурации. Другие возможности сломаны http.proxy
. git config --list --show-origin
покажет вам все ваши настройки конфигурации и откуда они берутся. Ищите что-нибудь подозрительное.
Другая возможность состоит в том, что у вас есть разрешение на выборку, но нет pu sh, и ваш сервер Git неправильно сообщает о проблеме с разрешениями. Хотя, поскольку это Github, я сомневаюсь в этом.
Все остальные команды работают (клонирование с удаленного компьютера, добавление файлов и фиксация)
Примечание: Большинство операций в Git происходят исключительно на вашем локальном компьютере. Единственными соответствующими командами являются git clone
, git fetch
, git push
и git pull
. Зафиксировать, добавить, diff, log, rm, et c ... происходят локально.