Gibt es eine Möglichkeit, meine lokalen Git-Repos in SourceTree zu importieren und in mein Bitbucket-Konto zu verschieben, damit neue Repos, die mit meinen lokalen Repos identisch sind, in meinem Konto erstellt werden? Oder muss ich zuerst online ein Repo machen und dazu Push? Github bietet eine Möglichkeit, lokale Repos direkt von seinem Client aus zu veröffentlichen, und erstellt sie automatisch, wenn Sie sie veröffentlichen. Private Repos sind jedoch nur begrenzt verfügbar. Ich mache nur Hausaufgaben, also gibt es keinen Grund, dass es öffentlich ist, weshalb ich versuche, bitbucket zu verwenden.
Es scheint möglich, ein lokales Repository in BitBucket "zu veröffentlichen". Erstellen Sie mit den Anweisungen aus Atlassian einfach ein neues BitBucket-Repository, kopieren Sie die Repository-URL in die Zwischenablage (in Ihrem BitBucket-Repository gehen Sie zu Actions> Clone, und Ihre Repo-URL wird in der Form git clone <repository url>
angezeigt.) und fügen Sie dieses Repository dann als neues Remote zu Ihrem lokalen Repository hinzu:
Verwenden von CLI
cd /path/to/my/repo
git remote add Origin ssh://[email protected]/<username>/<reponame>.git
git Push -u Origin --all
SourceTree verwenden
[email protected]/<username>/<reponame>.git
) ein.BitBucket eignet sich hervorragend für private Repos, aber Sie müssen einen SSH-Schlüssel einrichten, damit Ihr Computer mit Ihrem BitBucket-Konto arbeiten kann. Zum Glück macht es Sourcetree relativ einfach:
Erstellen eines Schlüssels in SourceTree:
Tools
> Options
sicher, dass SSH Client:
auf der Registerkarte General
auf PuTTY/Plink
gesetzt istTools
> Create or Import SSH Keys
aus.Generate
und bewegen Sie die Maus, um dem Schlüsselgenerator Zufall zu gebenSie sollten so etwas wie in der Abbildung unten sehen. Kopieren Sie den öffentlichen Schlüssel (blau hervorgehoben) in Ihre Zwischenablage
Save private Key
und Save public key
, um Ihre Schlüssel an einem beliebigen Ort (z. B. <Home Dir>/PuTTY/ssk-key.ppk
und <Home Dir>/PuTTY/ssh-key.pub
) zu speichern, bevor Sie zum nächsten Abschnitt übergehenRegistrieren des Schlüssels in BitBucket
Settings
.SSH Keys
in der linken SeitenleisteAdd SSH Key
, geben Sie einen Namen ein und fügen Sie den öffentlichen Schlüssel ein, den Sie in Schritt 4 des vorherigen Abschnitts kopiert habenDas ist es! Sie sollten jetzt in der Lage sein, Push/Pull auf Ihre privaten BitBucket-Repos zu ziehen. Ihre Schlüssel sind nicht nur für Git, viele Dienste verwenden SSH-Schlüssel, um Benutzer zu identifizieren, und das Beste ist, Sie benötigen nur einen. Wenn Sie Ihre Schlüssel verlieren (z. B. beim Wechseln des Computers), befolgen Sie einfach die Schritte zum Erstellen und Registrieren eines neuen Schlüssels.
Sidenote: Erstellen von SSH-Schlüsseln mithilfe von CLI
Eigentlich gibt es eine einfachere Lösung (nur bei Mac-Version). Nur vier Schritte:
Wie dieses Video veranschaulicht , ist das Erstellen eines Online-Repos der übliche Weg.
Die SourceTree-Versionshinweise erwähnen Sie für SourceTree 1.5+:
Unterstützung bei der Erstellung neuer Repositorys unter Team-/Organisationskonten in Bitbucket.
Es gibt zwar keine "Veröffentlichungsfunktion", Sie können jedoch Ihr Online-Repo aus SourceTree erstellen.
Der Blogbeitrag " SourceTree für Windows 1.2 ist hier " (Sept. 2013) erwähnt ebenfalls:
Jetzt können Sie Ihre Bitbucket-, Stash- und GitHub-Konten in SourceTree konfigurieren und sofort alle Ihre Repositorys für diese Dienste anzeigen. Einfach klonen, öffnen Sie das Projekt im Web, und erstellen Sie sogar neue Repositorys auf dem Remote-Dienst, ohne SourceTree zu verlassen.
Sie finden es im Menü unter Ansicht> Gehostete Repositorys anzeigen oder verwenden Sie die neue Schaltfläche unten rechts im Lesezeichenfenster.
Ich habe dies verwendet und es hat gut für mich geklappt ... Wenn Ihr Verzeichnis ist
"repo" und dein Projekt ist "Hallo", kopiere das Projekt dort
cd /path/to/my/repo
Initialisieren Sie Ihr Verzeichnis
git init
Inszenieren Sie das Projekt
git add hello
verpflichten Sie das Projekt
git commit
Fügen Sie Konfigurationen mit der E-Mail-Adresse und dem Benutzernamen hinzu, den Sie in Bitbucket verwenden
git config --global user.email
git config --global user.name
Kommentar zum Projekt hinzufügen
git commit -m 'comment'
Schieben Sie das Projekt jetzt
git Push Origin master
Aus dem Master auschecken
git checkout master
Bitbucket unterstützt eine REST - API, mit der Sie Bitbucket-Repositorys programmgesteuert erstellen können.
Dokumentation und cURL-Beispiel hier erhältlich: https://confluence.atlassian.com/bitbucket/repository-resource-423626331.html#repositoryResource-POSTanewrepository
$ curl -X POST -v -u username:password -H "Content-Type: application/json" \
https://api.bitbucket.org/2.0/repositories/teamsinspace/new-repository4 \
-d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'
Unter Windows ist curl in der Git Bash Shell verfügbar.
Mit dieser Methode können Sie problemlos ein Skript erstellen, um viele Repos von einem lokalen Git-Server nach Bitbucket zu importieren.
Eine andere Lösung für Windows-Benutzer:
Dies verwendet Github als Brücke, um nach Bitbucket zu gelangen, was dazu führt, dass die Veröffentlichung nicht direkt über die Windows-Sourcetree-App erfolgt.
Sobald dies erledigt ist, wird alles in Bitbucket geladen. Ihre lokalen Fernbedienungen müssen wahrscheinlich so konfiguriert werden, dass sie jetzt auf Bitbucket zeigen.
Als Update für die Antwort von Joe , in der Sie die Erstellung des Repository mithilfe der API als Skript ausführen können, war nur der API-Aufruf, den ich benötigte, anders. Dies kann daran liegen, dass wir einen Bitbucket-Server und keine Bitbucket-Cloud verwenden.
Um ein neues Repo in einem Projekt auf unserem Server zu erstellen, habe ich Folgendes verwendet:
curl -X POST -v -u USER:PASSWORD -H "Content-Type: application/json" \
http://SERVER/rest/api/1.0/projects/PROJECTNAME/repos/ \
-d '{"scmid":"git", "name":"REPONAME"}'
wobei USER
, PASSWORD
, SERVER
, PROJECTNAME
und REPONAME
natürlich die gewünschten/erforderlichen Werte waren.
Der Aufruf ist dokumentiert in der API-Referenz .
/rest/api/1.0/projects/{projectKey}/repos
Erstellen Sie ein neues Repository. Erfordert ein vorhandenes Projekt, in dem dieses Repository erstellt wird. Die einzigen Parameter, die verwendet werden, sind name und scmId.
Der authentifizierte Benutzer muss über die Berechtigung PROJECT_ADMIN verfügen, damit das Kontextprojekt diese Ressource aufrufen kann.
GIT ist für Versionskontrolle und Teamprojekte gut geeignet, wenn Commits und Filialen ordnungsgemäß verwaltet werden.
Schritt 1: Klonen Sie Ihr lokales Repo mit cli wie in den obigen Antworten erwähnt
$ cd [path_to_repo]
$ git remote füge Origin ssh hinzu: //[email protected]//.git
$ git Push -u Origin --all
Schritt 2: Sie können die oben genannten Schritte ausführen, um Ihre Werke zu verschieben. Einfacher Weg ist die Verwendung von Git Gui. Es bietet eine grafische Benutzeroberfläche, so dass es einfach ist, Bühnen (Hinzufügen)/Unstage, Festschreiben/Nicht-Festlegen und Push/Pull durchzuführen. Anfänger können den Git-Prozess leicht verstehen.
$ git gui
(ODER)
Schritt 2: Wie oben erwähnt. Cli-Codes erledigen die Arbeit.
$ git status
$ git add [Dateiname]
$ git commit _m "[Comit-Nachricht"] "
$ git Push-Origin-Master/Zweigname