Ich weiß, dass ähnliche Fragen bereits gestellt wurden.
Ich glaube jedoch, dass mein Problem auf einen Fehler zurückzuführen ist, den ich zuvor gemacht habe, und ist daher anders: Lassen Sie mich erklären.
Alles funktionierte reibungslos, wie ich konnte:
git add .
alle Dateien aus meinem lokalen Repository.git commit -m "message here"
, um Nachrichten zu meinen Commits hinzuzufügen.git Push Origin master
, um meine Dateien auf GitHub hochzuladen.git Push heroku master
, um meine Dateien in Heroku hochzuladen.Irgendwann habe ich jedoch einen neuen Zweig mit dem Namen add-calendar-model
erstellt, falls die nächsten Schritte der App-Entwicklung nach Süden gehen würden.
... und genau das ist passiert.
Trotz vieler Versuche gelang es mir jedoch nicht, den ursprünglichen Code - d. H. Den Code vor der Erstellung des neuen Zweigs - vom master
-Zweig in mein lokales Repository zu erhalten.
Also habe ich beschlossen, alle Dateien manuell aus meinem lokalen Repository und git clone
meine master
-Verzweigung aus GitHub zu löschen.
Auf diese Weise erhielt ich alle meine Dateien zurück, aber jetzt kann ich keine weiteren Dateien in das Remote-Repository verschieben.
Jedes Mal, wenn ich versuche, git Push Origin add-calendar-model
oder git Push Origin master
auszuführen, erhalte ich die folgende Fehlermeldung:
fatal: 'Origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Ich fühle mich mit Git und GitHub nicht sehr wohl, wie Sie vielleicht schon erraten haben, und ich muss zugeben, dass ich keine Ahnung habe, wie ich das beheben könnte.
Irgendeine Idee?
Prüfen Sie zunächst, ob Ihr Origin durch Ausführen eingestellt ist
git remote -v
Daraufhin sollten alle Push/Fetch-Fernbedienungen für das Projekt angezeigt werden.
Wenn dies ohne Ausgabe zurückkehrt, zum letzten Codeblock springen.
Remote Name/Adresse überprüfen
Wenn diese Meldung angezeigt wird, dass Sie die Fernbedienung eingestellt haben, überprüfen Sie, ob der Name der Fernbedienung mit der Fernbedienung übereinstimmt, die Sie in Ihren Befehlen verwenden.
$git remote -v
myOrigin ssh://[email protected]:1234/myRepo.git (fetch)
myOrigin ssh://[email protected]:1234/myRepo.git (Push)
# this will fail because `Origin` is not set
$git Push Origin master
# you need to use
$git Push myOrigin master
Wenn Sie die Fernbedienung umbenennen oder die URL der Fernbedienung ändern möchten, müssen Sie zuerst die alte Fernbedienung entfernen und dann die richtige Fernbedienung hinzufügen.
Entfernen Sie die alte Fernbedienung
$git remote remove myOrigin
Fehlende Fernbedienung hinzufügen
Sie können dann die richtige Fernbedienung hinzufügen
$git remote add Origin ssh://[email protected]:1234/myRepo.git
# this will now work as expected
$git Push Origin master
Wie Matt Clark oben gesagt hat
Origin ist jedoch möglicherweise nicht festgelegt. Wenn Sie den Löschschritt überspringen, können Sie den Vorgang jedoch einfach löschen.
git remote add Origin <"clone">
Wo "Klon" einfach in Ihr GitHub-Repo geht, die "HTTPS-Klon-URL" kopieren und in GitBash einfügen
Vergewissern Sie sich, dass die Konfigurationsdatei unter .git korrekt ist ... Überprüfen Sie die URL und stellen Sie sicher, dass Sie das richtige Protokoll für Ihre Schlüssel verwenden
~Wrong url for [email protected]
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "Origin"]
url = gitbucket.org:Prezyack/project-one-hello.git
fetch = +refs/heads/*:refs/remotes/Origin/*
~Wrong URL for SSH...
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "Origin"]
fetch = +refs/heads/*:refs/remotes/Origin/*
url = https://[email protected]/emmap1/bitbucketspacestation.git
[branch "master"]
remote = Origin
merge = refs/heads/master
Wir betrachten die URL ... Beispiel: Für Bitbucket erwarten Sie [email protected] .... If it gitbucket.org. Nehmen Sie die erforderlichen Änderungen vor .. SPEICHERN Drücken Sie erneut.
Manchmal haben Sie keine lokale REF, um diesen Zweig zurück zum Ursprung zu verschieben .
Versuchen
git Push Origin master:master
Dies zeigt explizit an, zu welchem Zweig (und von) verschoben werden soll.
Ein ähnlicher Fehler wird angezeigt, wenn die Änderungen aus dem Ursprung übernommen werden .. Wenn Sie Intellij über die Menüoptionen versuchen, funktioniert der Pull möglicherweise nicht direkt.
Gehen Sie zum Terminal und geben Sie diesen Befehl ein. Dies sollte klappen: Git, ziehen Sie den Origin-Master