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

В таком случае вам не разрешат толкать.

Вы можете

  1. вытащить с сервера, а затем попробуйте нажать

  2. делать принудительное нажатие - не рекомендуется, потому что это изменит историю фиксации сервера.

Другие вопросы по тегам