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.
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
cd /path/to/my/repo
git remote add Origin ssh://[email protected]/<username>/<reponame>.git
git Push -u Origin --all
Utilisation de SourceTree
[email protected]/<username>/<reponame>.git
)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:
Tools
> Options
, assurez-vous que SSH Client:
est défini sur PuTTY/Plink
sous l'onglet General
Tools
> Create or Import SSH Keys
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.
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
Settings
.SSH Keys
dans la barre latérale gaucheAdd 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
En réalité, il existe une solution plus simple (uniquement sur la version Mac). Seulement quatre étapes:
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.
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
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.
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.
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.
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"}'
où 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.
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