Comment accéder à la source complète de l'ancien commit dans BitBucket?
227
Je ne peux pas comprendre ou trouver la documentation sur la façon d'accéder à la source d'un ancien commit dans le nouveau format Bit Bucket. Est-ce encore possible?
Quel nouveau format? Utilisez-vous Mercurial ou Git? Utilisez simplement les clients Mercurial ou Git pour passer à une ancienne version.
Erno
Réponses:
369
Je comprends que vous souhaitez télécharger une ancienne version via l'interface Web BitBucket sans utiliser de client Mercurial / Git.
Vérifiez cette question connexe . Sur les commentaires, quelqu'un dit qu'il n'y a aucun moyen de le faire. Heureusement, ce n'est pas entièrement vrai.
En naviguant sur les pages du projet BitBucket, je n'ai trouvé aucun lien pour télécharger une version arbitraire. Il existe des liens pour télécharger des balises spécifiques, au format:
Puis-je utiliser le lien ci-dessus dans le terminal Android Studio pour cloner un commit? Si oui, pourriez-vous fournir le code de terminal de base?
tccpg288
1
J'aimerais qu'ils le montrent sur leur site Web, donc c'était évident.
roule
1
Pourquoi n'est-ce pas pertinent? Je viens de le tester à nouveau (2018-08-06) et cela fonctionne toujours. Peut-être que c'est un problème avec les serveurs BitBucket "en interne"? J'ai testé cela sur le serveur bitbucket.org .
Rudy Matela
devrait être api.bitbucket.orgmaintenant
Alexander Mills
1
Peut confirmer que cela fonctionne toujours avecbitbucket.org
Vely
202
J'essayais de comprendre s'il était possible de parcourir le code d'un commit précédent comme vous le pouvez sur GitHub et cela m'a amené ici. J'ai utilisé les informations que j'ai trouvées ici, et après avoir tripoté les URL, j'ai également trouvé un moyen de parcourir le code des anciens commits.
Lorsque vous parcourez votre code, l'URL ressemble à ceci:
https://bitbucket.org/user/repo/src/
et en ajoutant un hachage de validation à la fin comme ceci:
https://bitbucket.org/user/repo/src/a0328cb
Vous pouvez parcourir le code au point de cette validation. Je ne comprends pas pourquoi il n'y a pas de liste déroulante pour choisir directement un commit, la fonctionnalité est déjà là. Étrange.
C'est exactement ce dont j'avais besoin. Un lien direct du site de Bitbucket vers cette URL manque cruellement.
Johnny Oshika
Hélas, cela ne fonctionne pas. Ou plutôt travailler, mais partiellement. Par exemple, vous pouvez parcourir, https://bitbucket.org/lyro/evil/src/8cbfd51mais si vous entrez hg clone https://bitbucket.org/lyro/evil/src/8cbfd51, vous obtiendrez une révision aléatoire, peut-être la dernière.
Hi-Angel
Trouvé une solution de contournement, c'esthg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
Hi-Angel
3
Pour ceux qui n'aiment pas copier / coller: accédez à un certain commit, l'url ressemblera à quelque chose https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master. Maintenant, changez simplement commitsl'URL en srcet vous parcourez la source complète à ce commit!
@ManojG En voici un de moi. Donc, apparemment, il existe un moyen d'accéder à tout l'arbre à un certain commit, bien que d'une manière assez confuse.
Malcolm
2
AIMEZ CETTE RÉPONSE. Remarque: vous pouvez également accéder au fichier et utiliser le menu déroulant. MERCI!
mattdlockyer
3
Plus étonnant que cette réponse est le fait que nous ne pouvons pas le faire sur un clic de bouton ... certaines choses sont vraiment incroyables ....
Nuno Gonçalves
cette étape n'a pas été résolue pour moi, ce qui a donné des résultats: la réponse de @mattdlockyer, sélectionnez un fichier, cliquez sur le menu déroulant, sélectionnez un commit plus ancien, puis revenez au lien de base du
référentiel
1
Tout cela fonctionne mais lors du téléchargement, c'est toujours le dernier commit. Suis-je en train de mal faire ou c'est comme ça
Jay Mehta
29
Juste au cas où quelqu'un se trouve dans mon bateau où aucune de ces réponses n'a fonctionné exactement, voici ce que j'ai fait.
Peut-être que notre serveur Bitbucket interne est configuré un peu différemment de la plupart, mais voici l'URL que j'irais normalement juste pour afficher les fichiers dans la branche principale:
C'était facilement la voie la plus simple à suivre. Pour ceux qui n'ont pas pu obtenir de problèmes de tags, cliquez sur un commit spécifique et en haut à droite, vous verrez la source, la branche, le commit et les tags. Ajoutez-y votre tag, puis allez le télécharger.
PGMacDesign
8
Pour mémoire, vous pouvez également jouer avec les URL de cette façon:
Lorsque vous parcourez la dernière source, vous avez quelque chose comme:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
Modifiez simplement le hachage de validation et supprimez le paramètre GET:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
Je suis arrivé à +1 @Hein A. Grønnestad ci-dessus: tout fonctionne, se demandant vraiment pourquoi il n'y a rien dans l'interface graphique pour l'utiliser.
Maintenant, cliquez sur les balises dans la barre de navigation et téléchargez le zip depuis l'interface utilisateur.
Trouvez votre tag et téléchargez le zip
Réponses:
Je comprends que vous souhaitez télécharger une ancienne version via l'interface Web BitBucket sans utiliser de client Mercurial / Git.
Vérifiez cette question connexe . Sur les commentaires, quelqu'un dit qu'il n'y a aucun moyen de le faire. Heureusement, ce n'est pas entièrement vrai.
En naviguant sur les pages du projet BitBucket, je n'ai trouvé aucun lien pour télécharger une version arbitraire. Il existe des liens pour télécharger des balises spécifiques, au format:
Mais en ajustant un peu l'URL ci-dessus, en changeant le nom de la balise par le hachage de validation, comme:
Vous pouvez en fait télécharger une version spécifique.
Comme mentionné par Rakka Rage dans un commentaire, le remplacement
.tar.gz
par des.zip
travaux aussi.la source
api.bitbucket.org
maintenantbitbucket.org
J'essayais de comprendre s'il était possible de parcourir le code d'un commit précédent comme vous le pouvez sur GitHub et cela m'a amené ici. J'ai utilisé les informations que j'ai trouvées ici, et après avoir tripoté les URL, j'ai également trouvé un moyen de parcourir le code des anciens commits.
Lorsque vous parcourez votre code, l'URL ressemble à ceci:
et en ajoutant un hachage de validation à la fin comme ceci:
Vous pouvez parcourir le code au point de cette validation. Je ne comprends pas pourquoi il n'y a pas de liste déroulante pour choisir directement un commit, la fonctionnalité est déjà là. Étrange.
la source
https://bitbucket.org/lyro/evil/src/8cbfd51
mais si vous entrezhg clone https://bitbucket.org/lyro/evil/src/8cbfd51
, vous obtiendrez une révision aléatoire, peut-être la dernière.hg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master
. Maintenant, changez simplementcommits
l'URL ensrc
et vous parcourez la source complète à ce commit!Étape 1
Étape 2
Étape 3
Étape 4
Dernière étape
la source
Juste au cas où quelqu'un se trouve dans mon bateau où aucune de ces réponses n'a fonctionné exactement, voici ce que j'ai fait.
Peut-être que notre serveur Bitbucket interne est configuré un peu différemment de la plupart, mais voici l'URL que j'irais normalement juste pour afficher les fichiers dans la branche principale:
Si je sélectionne une branche différente de master dans le menu déroulant, j'obtiens ceci:
J'ai donc essayé de faire cela et cela a fonctionné:
Maintenant, je peux parcourir l'ensemble du référentiel tel qu'il était au moment de ce commit.
la source
Excellentes réponses d'il y a quelques années. Maintenant, Bitbucket a rendu la tâche plus facile.
Marquez le commit que vous souhaitez télécharger (comme mentionné dans la réponse de Rudy Matela).
Ensuite, rendez-vous sur Téléchargements et cliquez sur l'onglet "Tags" et vous aurez plusieurs options de téléchargement.
la source
Pour mémoire, vous pouvez également jouer avec les URL de cette façon:
Lorsque vous parcourez la dernière source, vous avez quelque chose comme:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
Modifiez simplement le hachage de validation et supprimez le paramètre GET:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
Je suis arrivé à +1 @Hein A. Grønnestad ci-dessus: tout fonctionne, se demandant vraiment pourquoi il n'y a rien dans l'interface graphique pour l'utiliser.
la source
Le moyen le plus simple consiste à cliquer sur ce commit et à ajouter une balise à ce commit. J'ai inclus la balise 'last_commit' avec ce commit
Ensuite, accédez aux téléchargements dans le coin gauche de la navigation latérale dans le compartiment de bits. Cliquez sur télécharger dans la partie gauche
la source
Vous pouvez afficher la source du fichier jusqu'à un commit particulier en ajoutant
?until=<sha-of-commit>
l'URL (après le nom du fichier).la source
Je sais qu'il est trop tard, mais avec l'API 2.0, vous pouvez le faire
depuis la ligne de commande avec:
ou en php avec:
alors vous avez l'historique de votre fichier (du commit le plus récent au plus ancien):
où
values
>links
>self
fournit le fichier au moment de l'histoire que vous pouvez le récupérer aveccurl <link>
oufile_get_contents(<link>)
.Finalement, à partir de la ligne de commande, vous pouvez filtrer avec:
en php, faites juste une
foreach
boucle sur le tableau$data
.Remarque: si vous en avez
<path_file>
un,/
vous devez le convertir%2F
.Voir le doc ici: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D
la source