Failed to lock refs/heads/master
Ich bin relativ neu auf git und bin mit diesem problem konfrontiert. Die git push Befehl zeigt die folgenden Fehler. Ich werde Ihnen erklären, die von Anfang an das, was ich versucht hatte zu tun .
Ich erstellte ein Submodul, engagierte und schob es. Die push-wirft der folgenden Fehler.
Salman@PC_HOME ~/git/breakit-web-app (master)
$ git push origin master
error: refs/heads/master does not point to a valid object!
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 421 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: bb/acl: salmanmanekia is allowed. accepted payload.
error: Ref refs/heads/master is at 6a47a0fd398610a75bdab8976f842dc0efd89f86 but expected 00000000000000000000000000000000000000000
remote: error: failed to lock refs/heads/master
To ssh://[email protected]/majuri/breakit-web-app.git
! [remote rejected] master -> master (failed to lock)
error: failed to push some refs to 'ssh://[email protected]/majuri/breakit-web-app.git'
Hier ist ein Screenshot:
Danach habe ich versucht, einige Lösungen, aber keiner von Ihnen arbeitete. Ich werde auch erklären, breifly, was ich habe versucht
1 : Von der bitbucket-repo habe ich bemerkt, es gibt einige danggling verpflichtet (der rote Pfeil im Bild 2), und so gab ich die folgenden Befehle aus, um das zu beheben
git gc und git prune.
2: ich habe auch versucht die Befehle wie git revert HEAD und git push origin HEAD --force, aber keiner scheint funktioniert zu haben..
Weitere details:
$ git rev-parse --symbolic-full-name master
refs/heads/master
$ git rev-parse master
0da090c5cbde10ff19602a2722ae05231c30dff5
$ git show-ref master
0da090c5cbde10ff19602a2722ae05231c30dff5 refs/heads/master
6a47a0fd398610a75bdab8976f842dc0efd89f86 refs/remotes/origin/master
Danke
- Was ist die Ausgabe von
git show-ref refs/remotes/origin/master
? - $ git show-ref refs/remotes/origin/master 6a47a0fd398610a75bdab8976f842dc0efd89f86 refs/remotes/origin/master
- Was bedeutet
git fetch origin
Ausgang? Vielleicht ist Ihr remote-tracking branches got-out-of-sync oder sowas...? - Es gibt nichts... Salman@PC_HOME ~/git/breakit-web-app (master) $ git fetch origin
- Was ist die Ausgabe von
git rev-parse --symbolic-full-name master
,git rev-parse master
, undgit show-ref master
? - Salman@PC_HOME ~/git/breakit-web-app (dev270612) $ git rev-parse --symbolic-full-name master refs/heads/master
- Salman@PC_HOME ~/git/breakit-web-app (dev270612) $ git rev-parse master 0da090c5cbde10ff19602a2722ae05231c30dff5
- Salman@PC_HOME ~/git/breakit-web-app (dev270612) $ git show-ref master 0da090c5cbde10ff19602a2722ae05231c30dff5 refs/heads/master 6a47a0fd398610a75bdab8976f842dc0efd89f86 refs/remotes/origin/master
- was
git cat-file -t 6a47a0fd3
,git branch -a --contains 6a47a0fd3
, undgit ls-remote origin master
? (Bitte Bearbeiten Sie die Frage und die information, die es anstatt in die Kommentare.) - Ich habe gezwungen, push-to-meine alte version in den master aus, wo die tracking-branch Los war out of sync.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie müssen aktualisieren Sie den KOPF, bekannt durch git. Es wird für Sie transparent.
1 - Gehen
master
Zweig2 - Erhalten Sie updates von der Fernbedienung an das lokale repository
3 - Aktualisieren Sie Ihre lokale repository mit rebase anstatt merge. Sehen gibt es Unterschied zwischen
git pull
undgit rebase
4 - Schieben Sie Ihre
master
Zweiggit pull origin master --rebase
ist die gleiche wie Ihre erste 3-Befehl