Comment puis-je pousser un repo local à Bitbucket en utilisant SourceTree sans créer un repo sur bitbucket en premier?
Existe-t-il un moyen d'importer mes repos git locaux dans SourceTree et de les pousser sur mon compte Bitbucket, en créant de nouveaux repos identiques à mes repos locaux sur mon compte? Ou dois-je faire un repo en ligne d'abord et pousser à qui? Github a un moyen de publier vos repos locaux directement à partir de son client, et il le crée automatiquement lorsque vous publiez, mais il a des repos privés limités. Je fais juste mes devoirs donc il n'y a aucune raison pour que ce soit public, d'où pourquoi j'essaie d'utiliser bitbucket.
8 réponses
Il semble possible de "publier" un référentiel local sur BitBucket. En utilisant les instructions de Atlassian , créez simplement un nouveau référentiel BitBucket, copiez l'url du référentiel dans le presse-papiers (dans votre référentiel BitBucket, allez dans Actions > Clone, et il vous montrera votre URL repo sous la forme git clone <repository url>
), puis ajoutez ce référentiel en tant que nouvelle télécommande à votre référentiel local:
À l'Aide de CLI
cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/<username>/<reponame>.git
git push -u origin --all
Utilisation De SourceTree
- Référentiel > Ajouter À Distance...
- collez L'url du référentiel BitBucket (
git@bitbucket.org/<username>/<reponame>.git
)
Mise à jour: Création Et Enregistrement de clés SSH
BitBucket est idéal pour les repos privés, mais vous devrez configurer une clé ssh pour autoriser votre ordinateur à travailler avec votre compte BitBucket. Heureusement Sourcetree le rend relativement simple:
La Création d'une Clé Dans SourceTree:
- Dans
Tools
>Options
, assurez -SSH Client:
est définie surPuTTY/Plink
, en vertu de laGeneral
onglet - sélectionnez
Tools
>Create or Import SSH Keys
- dans la fenêtre contextuelle, cliquez sur
Generate
et déplacez votre souris pour donner un caractère aléatoire au générateur de clé -
Vous devriez obtenir quelque chose comme ce qui est montré dans la capture d'écran ci-dessous. Copiez la clé publique (surlignée en bleu) dans votre presse-papiers
- cliquez sur
Save private Key
etSave public key
pour enregistrer vos clés à l'endroit où vous choisissez (par exemple à<Home Dir>/putty/ssk-key.ppk
et<Home Dir>/putty/ssh-key.pub
respectivement) avant de passer à la section suivante
Enregistrement De La Clé Dans BitBucket
- connectez-vous à votre BitBucket compte, et en haut à droite, cliquez sur votre photo de profil et cliquez sur
Settings
- allez dans l'onglet
SSH Keys
de la barre latérale gauche - cliquez sur
Add SSH Key
, donnez-lui un nom et collez la clé publique que vous avez copiée à l'étape 4 de la précédente section
C'est tout! Vous devriez maintenant être en mesure de pousser/tirer vers vos dépôts privés BitBucket. Vos clés ne sont pas seulement pour Git non plus, de nombreux services utilisent des clés ssh pour identifier les utilisateurs, et la meilleure partie est que vous n'en avez besoin que d'une seule. Si jamais vous perdez vos clés (par exemple lors du changement d'ordinateur), il suffit de suivre les étapes pour créer et enregistrer un nouveau.
Sidenote: création de clés SSH à L'aide de CLI
En fait, il existe une solution plus simple (uniquement sur la version Mac). Juste quatre étapes:
- Faites un clic droit sur le référentiel et sélectionnez " Publier sur distant..."
- la fenêtre suivante vous demandera de publier (GitHub, bitbucket, etc), puis vous avez terminé.
- lier le référentiel distant
- pousser
Comme cette vidéo illustre , la création d'un repo en ligne est d'abord la voie habituelle.
Les notes de version de SourceTree mentionnent pour SourceTree 1.5+:
Prend en charge la création de nouveaux référentiels sous les comptes d'équipe / organisation dans Bitbucket.
Ainsi, bien qu'il n'y ait pas de fonctionnalité de "publication", vous pouvez créer votre dépôt en ligne à partir de SourceTree.
Le billet de blog "SourceTree Pour Windows 1.2 est ici " (septembre 2013) aussi mention:
Maintenant, vous pouvez configurer vos comptes Bitbucket, Stash et GitHub dans SourceTree et voir instantanément tous vos dépôts sur ces services. Clonez-les facilement, ouvrez le projet sur le web, et même créez de nouveaux référentiels sur le service distant sans jamais quitter SourceTree .
Vous le trouverez dans le menu sous Affichage > Afficher les référentiels hébergés, ou en utilisant le bouton Nouveau En bas à droite du panneau Signets.
J'ai utilisé et cela a bien fonctionné pour moi. Si votre répertoire est
"repo" et votre projet est "bonjour" Copiez le projet là
cd /path/to/my/repo
Initialisez votre répertoire
git init
Etape du projet
git add hello
Valider le projet
git commit
Ajoutez des configurations à L'aide de L'e-mail et du nom d'utilisateur que vous utilisez dans Bitbucket
git config --global user.email
git config --global user.name
Ajouter un commentaire au projet
git commit -m 'comment'
Poussez le projet maintenant
git push origin master
Vérifier sur le maître
git checkout master
Bitbucket prend en charge une API REST que vous pouvez utiliser pour créer des référentiels Bitbucket par programmation.
Documentation et échantillon cURL disponibles ici: 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" }'
Sous Windows, curl est disponible à partir du shell Git Bash.
En utilisant cette méthode, vous pouvez facilement créer un script pour importer de nombreux repos à partir d'un serveur Git local vers Bitbucket.
Configuration du référentiel Bitbucket (ligne de commande avec Mac)
Créer une nouvelle APPLICATION à partir du début avec reposity local:
- Terminal - > cd ~ / Documents (collez le chemin du répertoire de base de votre APPLICATION)
- Terminal - > mkdir (créer un répertoire avec)
- Terminal - > cd (changer de répertoire avec le répertoire)
- BitBucket A / C - > créer un référentiel sur le compte bitBucket
- Xcode - > créer un nouveau projet xcode avec le même nom
- Terminal - > git init (initilize repo vide)
- Terminal - > git remote ajouter l'origine (ex. https://app@bitbucket.org/app/app.git)
- Terminal - > git ajouter .
- Terminal - > état git
- Terminal - > git commit-m "IntialCommet"
- Terminal - > git push origine maître
Créer un référentiel de clone D'APPLICATION:
- Terminal - > mkdir (créer un répertoire avec)
- Terminal - > cd (changer de répertoire avec le répertoire)
- Terminal - > git clone (Ex. https://app@bitbucket.org/app/app.git)
- Terminal - > cd
- Terminal - > statut git (afficher l'état d'édition/mise à jour du fichier)
- Terminal - > git pull origin master
- Terminal - > git ajouter .
- Terminal - > git push origine maître
GIT sert bien son but pour le contrôle de version et les projets d'équipe si les commits et les branches sont correctement gérés.
Étape 1: clonez votre repo local en utilisant cli comme mentionné par les réponses ci-dessus
$ cd [path_to_repo]
$ git remote ajouter l'origine ssh://git@bitbucket.org//.git
$ git push-u origine -- tout
Étape 2: Vous pouvez suivre l'une des étapes ci - dessus pour pousser/tirer vos œuvres. Un moyen simple est d'utiliser git gui. Il fournit une Interface graphique de sorte que il est facile de mettre en scène (add)/unstage, commit/uncommit et push/pull. Les débutants peuvent facilement comprendre le processus git.
$ Git gui
(ou)
Étape 2: comme mentionné ci-dessus. Les codes Cli feront le travail.
$ git status
$ git ajouter [nom_fichier]
$ git commit _m "[message Comit"] "
$ git push origine maître / branch_name
En tant que mise à jour de la réponse de Joe, en ce que vous pouvez Scripter la création du référentiel en utilisant L'API, seul l'appel D'API dont j'avais besoin était différent. Cela peut être parce que nous utilisons Bitbucket server, et non bitbucket cloud.
Pour créer un nouveau repo dans un projet sur notre serveur, j'ai utilisé:
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"}'
Où USER
, PASSWORD
, SERVER
, PROJECTNAME
et REPONAME
ont été bien sûr désiré/valeurs requises.
L'appel est documenté dans la référence de l'API.
/repos/api/1.0/projets/{projectKey}/repos
Crée un nouveau référentiel. Nécessite un projet existant dans lequel ce référentiel sera créé. Les seuls paramètres qui seront utilisés sont name et scmId.
L'utilisateur authentifié doit disposer de L'autorisation PROJECT_ADMIN pour que le projet contextuel appelle cette ressource.