Git - Невозможно перейти к локальному репо в Windows
Я получил пустой git-репозиторий для работы - назовем его bare.git.
Я сохранил его в D:/workspace/bare.git и клонировал
$git clone bare.git bare
Все работало нормально, пока я не хотел продвигать свои изменения. Я получил следующую ошибку git
$git push
error: failed to push some refs to 'D:/workspace/bare.git'
$git push origin master
error: failed to push some refs to 'D:/workspace/bare.git'
С моей точки зрения, все настроено правильно, но я до сих пор не могу понять, почему я не могу ничего подтолкнуть.
$git remote show origin
remote origin
Fetch URL: D:/workspace/bare.git
Push URL: D:/workspace/bare.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
Это мой.git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = D:/workspace/bare.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
И да - некоторые коммиты уже есть в основной ветке голого репозитория.
Есть идеи?
1 ответ
Он может не работать, когда ваши локальные изменения (история коммитов) влияют на историю сервера. Например, когда вы клонировали репо, история выглядела как A->B->C, а затем вы сделали изменение, которое сделало историю коммитов похожей на: A->B->C->D. В то же время, если кто-то отправит на сервер с фиксацией E, история на сервере будет выглядеть так: A->B->C->D->E
В таком случае вам не разрешат толкать.
Вы можете
вытащить с сервера, а затем попробуйте нажать
делать принудительное нажатие - не рекомендуется, потому что это изменит историю фиксации сервера.