Ich bin anscheinend schrecklich darin, Git zu benutzen, trotz meiner besten Versuche, es zu verstehen.
Von kernel.org für git push
:
-u
--set-upstream
Fügen Sie für jeden Zweig, der auf dem neuesten Stand ist oder erfolgreich gepusht wurde, eine Upstream-Referenz (Tracking-Referenz) hinzu, die von git-pull (1) ohne Argumente und anderen Befehlen verwendet wird. Weitere Informationen finden Sie
branch.<name>.merge
in git-config (1).
Hier ist branch.<name>.merge
von git config
:
branch.<name>.merge
Definiert zusammen mit
branch.<name>.remote
dem Upstream-Zweig für den angegebenen Zweig. Es teilt git fetch / git pull mit, welcher Zweig zusammengeführt werden soll, und kann auch git push beeinflussen (siehe push.default). In der Verzweigung<name>
teilt es git fetch mit, dass die Standardreferenzspezifikation zum Zusammenführen in FETCH_HEAD markiert werden soll. Der Wert wird wie der entfernte Teil einer Referenzspezifikation behandelt und muss mit einer Referenz übereinstimmen, die von der von angegebenen angegebenen Fernbedienung abgerufen wird"branch.<name>.remote"
. Die Zusammenführungsinformationen werden von git pull (das zuerst git fetch aufruft) verwendet, um den Standardzweig für das Zusammenführen zu suchen. Ohne diese Option wird bei git pull standardmäßig die erste abgerufene Referenzspezifikation zusammengeführt. Geben Sie mehrere Werte an, um eine Octopus-Zusammenführung zu erhalten. Wenn Sie git pull so einrichten möchten, dass es<name>
von einem anderen Zweig im lokalen Repository zusammengeführt wird, können Sie darauf verweisenbranch.<name>.merge
zum gewünschten Zweig und verwenden Sie die spezielle Einstellung. (eine Periode) fürbranch.<name>.remote
.
Ich habe erfolgreich ein Remote-Repository mit github eingerichtet und mein erstes Commit erfolgreich durchgeführt mit:
git push -u origin master
Dann habe ich mein zweites Commit unwissentlich erfolgreich in mein Remote-Repository übertragen, indem ich:
git commit -m '[...]'
Da ich jedoch fälschlicherweise dachte, ich müsste noch einmal origin
von drängen master
, rannte ich:
# note: no -u
git push origin master
Was hat das gemacht? Es schien überhaupt keine Wirkung zu haben. Habe ich "rückgängig gemacht" git push -u origin master
?
I'm apparently terrible at using git, despite my best attempts to understand it.
- Ich hatte noch nie jemanden, der mich so gut nachgebildet hat.