Wenn ich renne:
git push origin branchname
Was genau ist originund warum muss ich es vor dem Filialnamen eingeben?
Wenn ich renne:
git push origin branchname
Was genau ist originund warum muss ich es vor dem Filialnamen eingeben?
Antworten:
originist ein Alias auf Ihrem System für ein bestimmtes Remote-Repository. Es ist eigentlich keine Eigenschaft dieses Repositorys.
Indem ich es tue
git push origin branchname
Sie sagen, um in das originRepository zu pushen . Es ist nicht erforderlich, das Remote-Repository zu benennen origin: Tatsächlich kann dasselbe Repository einen anderen Alias für einen anderen Entwickler haben.
Fernbedienungen sind einfach ein Alias , in dem die URL von Repositorys gespeichert wird. Mit können Sie sehen, welche URL zu jeder Fernbedienung gehört
git remote -v
Im pushBefehl können Sie Fernbedienungen verwenden oder einfach eine URL direkt verwenden. Ein Beispiel, das die URL verwendet:
git push git@github.com:git/git.git master
git pushSie sehen, dass zuerst die Konfiguration für dieses Repository (mit dem Sie überprüfen können git config --list) auf einen Schlüssel namens überprüft wird branch.<branchname>.remote. Wenn dies nicht festgelegt ist, "wird standardmäßig der Ursprung verwendet" - git-scm.com/docs/git-push
originist nicht der Name des Remote-Repositorys. Es handelt sich vielmehr um einen lokalen Alias , der anstelle der URL des Remote-Repositorys als Schlüssel festgelegt wurde.
Dadurch wird vermieden, dass der Benutzer die gesamte Remote-URL eingeben muss, wenn er einen Push anfordert.
Dieser Name wird standardmäßig und zur Konvention von Git festgelegt, wenn zum ersten Mal von einer Fernbedienung geklont wird.
Dieser Aliasname ist nicht fest codiert und kann über die folgende Eingabeaufforderung geändert werden:
git remote rename origin mynewalias
Weitere Informationen finden Sie unter http://git-scm.com/docs/git-remote .
Git hat das Konzept von "Fernbedienungen", die einfach URLs zu anderen Kopien Ihres Repositorys sind. Wenn Sie ein anderes Repository klonen, erstellt Git automatisch eine Fernbedienung mit dem Namen "origin" und zeigt darauf.
Sie können weitere Informationen zur Fernbedienung anzeigen, indem Sie Folgendes eingeben git remote show origin.
git remote show originWarum nicht einfach git show origin? Es muss einen Grund geben, was ist das? Vielen Dank.
originist der Standard - Alias Ihrer Remote - Repository auf die URL.
Einfach! "origin" ist genau das, was Sie Ihr Remote-Repository genannt haben, als Sie einen Befehl wie diesen ausgeführt haben:
git remote add origin git@github.com:USERNAME/REPOSITORY-NAME.git
Von da an weiß Git, dass "origin" auf dieses bestimmte Repository verweist (in diesem Fall ein GitHub-Repository). Sie hätten es "Github" oder "Repo" oder was auch immer Sie wollten nennen können.
Das hat mich auch verwirrt, und unten ist, was ich gelernt habe.
Wenn Sie ein Repository klonen, zum Beispiel von GitHub:
originist der Alias für die URL, von der Sie das Repository geklont haben. Beachten Sie, dass Sie diesen Alias ändern können.
Es gibt einen masterZweig im Remote-Repository (Alias von origin). Es gibt auch einen anderen masterZweig, der lokal erstellt wird.
Weitere Informationen finden Sie in dieser SO-Frage: Git-Verzweigung: Master vs. Ursprung / Master vs. Fernbedienungen / Ursprung / Master
Wenn Sie ein Repository mit klonen git clone, wird automatisch eine Remoteverbindung erstellt, origindie auf das geklonte Repository verweist. Dies ist nützlich für Entwickler, die eine lokale Kopie eines zentralen Repositorys erstellen, da es eine einfache Möglichkeit bietet, vorgelagerte Änderungen abzurufen oder lokale Commits zu veröffentlichen. Dieses Verhalten ist auch der Grund, warum die meisten Git-basierten Projekte ihren zentralen Repository-Ursprung nennen.
Die beste Antwort hier:
https://www.git-tower.com/learn/git/glossary/origin
In Git ist "origin" eine Abkürzung für das Remote-Repository, aus dem ein Projekt ursprünglich geklont wurde. Genauer gesagt wird es anstelle der URL des ursprünglichen Repositorys verwendet - und erleichtert dadurch die Referenzierung erheblich.
Von https://www.git-tower.com/learn/git/glossary/origin :
In Git ist "origin" eine Abkürzung für das Remote-Repository, aus dem ein Projekt ursprünglich geklont wurde. Genauer gesagt wird es anstelle der URL des ursprünglichen Repositorys verwendet - und erleichtert dadurch die Referenzierung erheblich.
Beachten Sie, dass der Ursprung keineswegs ein "magischer" Name ist, sondern nur eine Standardkonvention. Obwohl es sinnvoll ist, diese Konvention unberührt zu lassen, können Sie sie perfekt umbenennen, ohne die Funktionalität zu verlieren.
Im folgenden Beispiel wird der URL-Parameter zum Befehl "clone" zum "Ursprung" für das geklonte lokale Repository:
git clone https://github.com/gittower/git-crash-course.git
Die anderen Antworten besagen, dass dies originein Alias für die URL eines Remote-Repositorys ist, der nicht ganz korrekt ist. Es ist zu beachten, dass eine Adresse, die mit beginnt, httpeine URL ist, während eine Adresse, die mit beginnt, git@eine URI oder eine universelle Ressourcenkennung ist.
Alle URLs sind URIs, aber nicht alle URIs sind URLs.
Kurz gesagt, wenn Sie tippen git remote add origin <URI>, teilen Sie Ihrem lokalen Git mit, dass Sie, wenn Sie das Wort verwenden origin, tatsächlich den von Ihnen angegebenen URI meinen. Stellen Sie sich das wie eine Variable vor, die einen Wert enthält.
Und genau wie eine Variable, können Sie es nennen , was Sie wollen (zB. github, heroku, destinationUsw.).
Remote (Repository-URL-Alias) → Ursprung (Upstream-Alias) → Master (Zweig-Alias);
remote, Ebene gleiche wie working directory, index, repository,
origin, Zuordnung des lokalen Repository-Zweigs zum Remote-Repository-Zweig