web-dev-qa-db-fra.com

Comment puis-je pousser un référentiel local vers Bitbucket à l'aide de SourceTree sans créer un référentiel sur bitbucket au préalable?

Existe-t-il un moyen d’importer mes dépôts git locaux vers SourceTree et de les transférer sur mon compte Bitbucket, en créant de nouveaux référentiels identiques à mes référentiels locaux? Ou dois-je d'abord faire un repo en ligne et pousser à cela? Github dispose d'un moyen de publier votre dépôt local directement à partir de son client. Il le crée automatiquement lorsque vous publiez, mais ses dépôts privés sont limités. Je fais juste mes devoirs donc il n'y a aucune raison pour que ce soit public, c'est pourquoi j'essaie d'utiliser bitbucket.

104
cma0014

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, accédez à Actions> Cloner, et il vous montrera votre URL de référentiel 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:

Utilisation de la CLI

  1. cd /path/to/my/repo
  2. git remote add Origin ssh://[email protected]/<username>/<reponame>.git
  3. git Push -u Origin --all

Utilisation de SourceTree

  1. Référentiel> Ajouter à distance ...
  2. Collez l'URL du référentiel BitBucket ([email protected]/<username>/<reponame>.git)

UPDATE: Création et enregistrement de clés SSH

BitBucket est idéal pour les pensions privées, mais vous devez configurer une clé ssh pour autoriser votre ordinateur à fonctionner avec votre compte BitBucket. Heureusement, Sourcetree le rend relativement simple:

Créer une clé dans SourceTree:

  1. Dans Tools> Options, assurez-vous que SSH Client: est défini sur PuTTY/Plink sous l'onglet General
  2. Sélectionnez Tools> Create or Import SSH Keys
  3. 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é.
  4. 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.

    PuTTY

  5. Cliquez sur Save private Key et Save public key pour enregistrer vos clés à l'endroit de votre choix (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

  1. Connectez-vous à votre compte BitBucket , et en haut à droite, cliquez sur la photo de votre profil, puis sur Settings.
  2. Allez à l'onglet SSH Keys dans la barre latérale gauche
  3. Cliquez sur Add SSH Key, nommez-le et collez la clé publique que vous avez copiée à l'étape 4 de la section précédente.

C'est tout! Vous devriez maintenant être en mesure de pousser/tirer vers votre dépôt privé BitBucket. Vos clés ne sont pas uniquement destinées à Git non plus, de nombreux services utilisent des clés ssh pour identifier les utilisateurs, et la meilleure partie est que vous n’avez besoin que d’une seule. Si vous perdez vos clés (par exemple lorsque vous changez d’ordinateur), suivez simplement les étapes pour en créer et en enregistrer une nouvelle.

Sidenote: Création de clés SSH à l'aide de la CLI

Suivez ce tutoriel

134
woojoo666

En réalité, il existe une solution plus simple (uniquement sur la version Mac). Seulement quatre étapes: 

  1. Faites un clic droit sur le référentiel et sélectionnez "Publier sur distant ..."

 SourceTree Publish to Remote Screeshot

  1. La fenêtre suivante vous demandera de publier (github, bitbucket, etc.), puis vous avez terminé.
  2. Lier le référentiel distant
  3. Pousser 
22
David

Comme le montre cette vidéo , créer un dépôt en ligne d’abord est la méthode habituelle.

Les Notes de version de SourceTree font mention pour SourceTree 1.5+:

Prendre en charge la création de nouveaux référentiels sous les comptes d’équipe/organisation dans Bitbucket.

Ainsi, même s’il n’existe pas de fonctionnalité de "publication", vous pouvez créer votre dépôt en ligne à partir de SourceTree.

L'article de blog " SourceTree pour Windows 1.2 est ici " (septembre 2013) mentionnent également:

Vous pouvez maintenant configurer vos comptes Bitbucket, Stash et GitHub dans SourceTree et voir instantanément tous vos référentiels sur ces services. Clonez-les facilement, ouvrez le projet sur le Web, et créez même 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 à l’aide du nouveau bouton situé en bas à droite du panneau des signets.

http://blog.sourcetreeapp.com/files/2013/09/hostedrepowindow.png

10
VonC

J'ai utilisé cela et cela a bien fonctionné pour moi . Si votre répertoire est 

"repo" et votre projet est "bonjour", copiez le projet ici

cd /path/to/my/repo

Initialiser votre répertoire

git init

Mettre en scène le projet

git add hello

engager le projet

git commit

Ajouter des configurations à l'aide de l'email 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

Départ du maître

git checkout master
3
bademba

Bitbucket prend en charge une API REST que vous pouvez utiliser pour créer par programmation des référentiels Bitbucket.

Documentation et exemple 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 dépôts depuis un serveur git local vers Bitbucket.

2
Joe Savage

Configurer le référentiel Bitbucket (ligne de commande avec Mac)

Créer une nouvelle application à partir du référentiel local:

  1. Terminal -> cd ~/Documents (Collez votre chemin de répertoire de base APPLICATION)
  2. Terminal -> mkdir (créer un répertoire avec)
  3. Terminal -> cd (changer de répertoire avec répertoire)
  4. BitBucket A/C -> créer un référentiel sur un compte bitBucket
  5. Xcode -> créer un nouveau projet xcode avec le même nom 
  6. Terminal -> git init (initie un repo vide)
  7. Terminal -> git remote add Origin (Ex. https: //[email protected]/app/app.git )
  8. Terminal -> git add.
  9. Terminal -> statut git
    1. Terminal -> git commit -m "IntialCommet"
    2. Terminal -> maître git Push Origin

Créer un référentiel de clonage APPLICATION:

  1. Terminal -> mkdir (créer un répertoire avec)
  2. Terminal -> cd (changer de répertoire avec répertoire)
  3. Terminal -> git clone (Ex. https: //[email protected]/app/app.git )
  4. Terminal -> cd 
  5. Terminal -> git status (Afficher le statut du fichier édité/mis à jour)
  6. Terminal -> git pull Origin master
  7. Terminal -> git add.
  8. Terminal -> maître git Push Origin
1
Shrikant Tanwade

Une autre solution pour les utilisateurs de Windows:

Cela utilise Github comme un pont pour se rendre à Bitbucket, en raison de l'absence de publication directement à partir de l'application Windows Sourcetree.

  1. Chargez votre dépôt local dans l'application de bureau Github.
  2. Publiez le référentiel en tant que référentiel privé (pour la confidentialité - si vous le souhaitez) de l'application de bureau Github dans votre compte Github.
  3. Ouvrez votre compte personnel/d'équipe sur le site Web de Bitbucket. 
  4. Créez un nouveau référentiel Bitbucket en important à partir de Github.
  5. Supprimer le repo dans Github.

Une fois que cela est fait, tout sera chargé dans Bitbucket. Vos télécommandes locales devront probablement être configurées pour pointer maintenant vers Bitbucket. 

0
David Ruiz

En tant que mise à jour de Joe's answer , dans la mesure où vous pouvez scripter la création du référentiel à l'aide de l'API, seul l'appel d'API dont j'avais besoin était différent. C'est peut-être parce que nous utilisons le serveur bitbucket, et non pas le cloud bitbucket.

Pour créer un nouveau dépôt 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"}'

USER, PASSWORD, SERVER, PROJECTNAME et REPONAME étaient bien sûr les valeurs souhaitées/requises.

L'appel est documenté dans la référence API .

/rest/api/1.0/projects/{projectKeyBuch/repos

Créez 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 de contexte appelle cette ressource.

0
Baldrickk

GIT remplit bien son rôle 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 dépôt local en utilisant cli comme indiqué ci-dessus dans les réponses

$ cd [path_to_repo]
$ git remote add Origine ssh: //[email protected]//.git
$ git Push -u Origin --all

Étape 2: Vous pouvez suivre l’une des étapes ci-dessus pour pousser/tirer vos œuvres. Le moyen le plus simple est d'utiliser git gui. Il fournit une interface graphique qui facilite l’affichage (ajout)/décomposition, la validation/non-validation et le transfert/extraction. 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 add [nom_fichier]
$ git commit _m "[message de comit"] "
$ git Push Origin maître/nom de branche

0
Raj sree