Не удалось разрешить ссылки refs /refs / remotes / origin / branch при нажатии после слияния ветвей
новое для git и github.
Я хочу заменить git master
ветка с моей другой веткой bridge
как локально, так и удаленно. Проблема в том, что git не может разрешить ссылки для bridge
филиала. Проблема возникает из-за нажатия на github.
как дерево git стало таким образом:
- запущена главная ветка через Git GUI.
- продолжил, а затем понял, что это не так уж здорово и перешел к Удар.
- не смог больше нажать на github, чтобы освоить, поскольку кончик местной главной ветви был один за кончиком удаленного аналога.
-
обойти, я создал еще одну ветку под названием Мост. Мне не понравилось, что я сделал 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
-
он работал локально. Однако, когда я попытался нажать, я получил следующий:
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
-
пробовал
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'.
-
наконец я попытался
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)