Не удалось разрешить ссылки refs /refs / remotes / origin / branch при нажатии после слияния ветвей

новое для git и github.

Я хочу заменить git master ветка с моей другой веткой bridge как локально, так и удаленно. Проблема в том, что git не может разрешить ссылки для bridge филиала. Проблема возникает из-за нажатия на github.

как дерево git стало таким образом:

  1. запущена главная ветка через Git GUI.
  2. продолжил, а затем понял, что это не так уж здорово и перешел к Удар.
  3. не смог больше нажать на github, чтобы освоить, поскольку кончик местной главной ветви был один за кончиком удаленного аналога.
  4. обойти, я создал еще одну ветку под названием Мост. Мне не понравилось, что я сделал bridge по умолчанию, поэтому я попытался изменить его обратно на master с помощью:

    git checkout better_branch
    git merge --strategy=ours master    # keep the content of this branch, but record a merge
    git checkout master
    git merge better_branch             # fast-forward master up to the merge
    
  5. он работал локально. Однако, когда я попытался нажать, я получил следующий:

    NAME@**** /C/Users/NAME/Documents/GitHub/tabtrack (master)
    $ git push
    warning: push.default is unset; its implicit value is changing in
    Git 2.0 from 'matching' to 'simple'. To squelch this message
    and maintain the current behavior after the default changes, use:
    
      git config --global push.default matching
    
    To squelch this message and adopt the new behavior now, use:
    
      git config --global push.default simple
    
    See 'git help config' and search for 'push.default' for further information.
    (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
    'current' instead of 'simple' if you sometimes use older versions of Git)
    Enter passphrase for key '/c/Users/NAME/.ssh/id_rsa':
    To git@github.com:NAMEtaylor/tabtrack.git
     ! [rejected]        master -> master (non-fast-forward)
    error: unable to resolve reference refs/remotes/origin/bridge: No error
    error: Cannot lock the ref 'refs/remotes/origin/bridge'.
    error: failed to push some refs to 'git@github.com:NAMEtaylor/tabtrack.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    
    NAME@**** /C/Users/NAME/Documents/GitHub/tabtrack (master)
    $ git push origin master
    Enter passphrase for key '/c/Users/NAME/.ssh/id_rsa':
    To git@github.com:NAMEtaylor/tabtrack.git
     ! [rejected]        master -> master (non-fast-forward)
    error: failed to push some refs to 'git@github.com:NAMEtaylor/tabtrack.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    
    NAME@**** /C/Users/NAME/Documents/GitHub/tabtrack (master)
    $ git push origin bridge
    Enter passphrase for key '/c/Users/NAME/.ssh/id_rsa':
    error: unable to resolve reference refs/remotes/origin/bridge: No error
    error: Cannot lock the ref 'refs/remotes/origin/bridge'.
    Everything up-to-date
    
  6. пробовал git push -f но:

    NAME@**** /C/Users/NAME/Documents/GitHub/tabtrack (bridge)
    $ git checkout master
    Switched to branch 'master'
    
    NAME@**** /C/Users/NAME/Documents/GitHub/tabtrack (master)
    $ git push -f
    warning: push.default is unset; its implicit value is changing in
    Git 2.0 from 'matching' to 'simple'. To squelch this message
    and maintain the current behavior after the default changes, use:
    
      git config --global push.default matching
    
    To squelch this message and adopt the new behavior now, use:
    
      git config --global push.default simple
    
    See 'git help config' and search for 'push.default' for further information.
    (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
    'current' instead of 'simple' if you sometimes use older versions of Git)
    
    Enter passphrase for key '/c/Users/NAME/.ssh/id_rsa':
    Counting objects: 13, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (7/7), done.
    Writing objects: 100% (7/7), 898 bytes | 0 bytes/s, done.
    Total 7 (delta 5), reused 0 (delta 0)
    To git@github.com:NAMEtaylor/tabtrack.git
    
    • 1297c9f...bfa60d5 master - > master (принудительное обновление) ошибка: не удается разрешить ссылки refs / remotes / origin / bridge: нет такого файла или d irectory ошибка: не удается заблокировать ref 'refs / remotes / origin / bridge'.
    Имя@ * ** * /C / Пользователи / Имя / документы/GitHub/tabtrack (master) $ git статус На ветке мастер нечего фиксировать, рабочий каталог чистый
  7. наконец я попытался git push origin bridge --verbose согласно совету по некоторым вопросам stackoverflow:

    $ git push origin bridge --verbose
    Pushing to git@github.com:ishaantaylor/tabtrack.git
    Enter passphrase for key '/c/Users/Ishaan/.ssh/id_rsa':
    To git@github.com:ishaantaylor/tabtrack.git
     = [up to date]      bridge -> bridge
    updating local tracking ref 'refs/remotes/origin/bridge'
    error: unable to resolve reference refs/remotes/origin/bridge: No error
    error: Cannot lock the ref 'refs/remotes/origin/bridge'.
    Everything up-to-date
    

скриншот моего дерева git отображается, нажав на ссылку ниже (мне нужно больше репутации, чтобы опубликовать функционирующий рис): http://i.imgur.com/FN9wHdi.jpg

пожалуйста, дайте мне знать, если мне нужно добавить любую другую информацию в вопрос, чтобы он стал лучше. Спасибо за ваше время, даже если вы просто читаете мои проблема!

1 ответов


Сначала установите политику push по умолчанию:

git config --global push.default simple

затем вы можете попробовать и нажать свою главную ветку

git push -u -f origin master

(вам не нужна ваша ветвь моста, так как вы объединили master в ней и объединили эту ветвь обратно в master в пункте 4)