So übertragen Sie lokale Änderungen in ein Remote-Git-Repository auf Bitbucket


81

Ich teste Git und Bitbucket.

Ich habe ein Repository auf Bitbucket erstellt und eine lokale Kopie des Repos erstellt, und ich schreibe Dateien darin fest. Ich kann die Dateien scheinbar nicht von meinem lokalen Repository in das Remote-Repository verschieben.

Folgendes mache ich:

git clone https://me@bitbucket.org/me/test.git
cd test
touch dummy
git add dummy
git commit dummy -m "my first git commit"
git push

Die letzte Zeile gibt aus:

Everything up-to-date

Und wenn ich mich bei Bitbucket anmelde, kann ich meine Dummy-Datei nicht sehen.

Was mache ich falsch?

BEARBEITEN:

Das hat funktioniert:

 git push origin master:master

Irgendwelche Erklärungen zum Unterschied zwischen diesem und einem einfachen git push?


Antworten:


102

Verwenden Sie git push origin masterstattdessen.

Sie haben lokal ein Repository und die Initiale git push"pusht" darauf. Es ist nicht notwendig , dies zu tun (wie es ist lokal) , und es zeigt alles up-to-date. git push origin masterGibt ein Remote-Repository ( origin) und den dort befindlichen Zweig an (master ) an.

Weitere Informationen finden Sie unter dieser Ressource .


2
Ich sollte auch erwähnen, dass das originRepository automatisch definiert wird , wenn Sie etwas klonen .
Chuck Callebs

15

Dies ist eine Sicherheitsmaßnahme, um zu vermeiden, dass Zweige verschoben werden, die nicht zur Veröffentlichung bereit sind. Wenn Sie "git push" ausführen, werden nur lokale Zweige, die bereits auf dem Server mit demselben Namen vorhanden sind, oder Zweige, die mit der Syntax localbranch: remotebranch gepusht wurden, verschoben.

Verwenden Sie Folgendes, um alle lokalen Zweige in das Remote-Repository zu verschieben --all:

git push REMOTENAME --all
git push --all

oder geben Sie alle Zweige an, die Sie pushen möchten:

git push REMOTENAME master exp-branch-a anotherbranch bugfix

Darüber hinaus ist es nützlich, -uden Befehl "git push" zu ergänzen , da hiermit angezeigt wird, ob sich Ihr lokaler Zweig vor oder hinter dem Remote-Zweig befindet. Dies wird angezeigt, wenn Sie nach einem Git-Abruf den "Git-Status" ausführen.


8

Ich bin mit Git von https://git-scm.com/ heruntergeladen und ssh eingerichtet. Folgen Sie der Antwort für Anweisungen https://stackoverflow.com/a/26130250/4058484 .

Nachdem der generierte öffentliche Schlüssel in meinem Bitbucket-Konto überprüft wurde und ich mich auf die unter http://www.bohyunkim.net/blog/archives/2518 erläuterten Schritte beziehe, habe ich festgestellt, dass nur "Git Push" funktioniert:

git clone https://me@bitbucket.org/me/test.git
cd test
cp -R ../dummy/* .
git add .
git pull origin master 
git commit . -m "my first git commit" 
git config --global push.default simple
git push

Die Shell-Antworten lauten wie folgt:

$ git push
Counting objects: 39, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (39/39), done.
Writing objects: 100% (39/39), 2.23 MiB | 5.00 KiB/s, done.
Total 39 (delta 1), reused 0 (delta 0)
To https://me@bitbucket.org/me/test.git 992b294..93835ca  master -> master

Es funktioniert sogar, um das Zusammenführen von Master- und Gh-Seiten in GitHub voranzutreiben

git checkout gh-pages
git merge master
git push

0

Bedeutung des 2. Parameters (' master') des git pushBefehls " " -

$ git push origin master

kann durch Initiieren des pushBefehls " " aus news-itemdem Zweig ' ' verdeutlicht werden . Es führte dazu, dass der lokale masterZweig in den entfernten masterZweig verschoben wurde. Weitere Informationen finden Sie unter

https://git-scm.com/docs/git-push

wo <refspec>in

[<repository> [<refspec>…​]

wird geschrieben, um " specify what destination ref to update with what source object." zu bedeuten

Als Referenz finden Sie hier einen Screenshot, wie ich diese Aussage überprüft habe.

<code> Geben Sie hier die Bildbeschreibung ein </ code>

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.