Mon équipe utilise Bitbucket pour notre référentiel git et nous avons récemment commencé à utiliser la fonctionnalité de demande d'extraction pour les révisions de code. Cela fonctionne bien lors du premier examen, mais s'il passe par plusieurs itérations (c'est-à-dire que des modifications sont apportées et que la demande d'extraction est mise à jour), j'aimerais voir un lien avec uniquement les nouvelles modifications apportées depuis la dernière révision du code.
J'ai regardé dans la fonctionnalité «comparer» mais l'interface utilisateur semble pouvoir comparer uniquement entre les branches. Existe-t-il un moyen simple d'obtenir une différence entre deux commits?
Réponses:
Ce n'est qu'une légère modification des réponses déjà données mais ajouter #diff à la fin au lieu de #commits est généralement ce que je recherche. De plus, comme d'autres l'ont peut-être mentionné, les meilleurs résultats pour moi sont généralement obtenus en plaçant le commit le plus récent en premier et le plus ancien une seconde, mais cela dépendra de vos besoins particuliers.
la source
owner/repo
, copié les hachages de la liste de validation, appuyez sur Entrée et bam. Vue de différence agréable et facile. 👍 (Pourquoi ce n'est pas une chose évidente dans leur interface graphique cependant ...)Essayez quelque chose comme:
https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<commit1>..<commit2>#commits
Tiré de: https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits
la source
compare/
inclus ce qui précède.Bitbucket prend désormais en charge la comparaison des balises.
la source
tag1
doit commencer par "v" et être plus récent,tag2
c'est plus ancien. Par exemple, bitbucket.org/codsen/array-includes-with-glob/branches/compare/… - autrement ne fonctionnera pas et sans "v" cela ne fonctionnera pas - les deux cas mèneront à 404.https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<TAG1>%0D<TAG2>?w=1#diff
Cela montre le diff et ignore les différences d'espaces.Les champs de recherche dans les listes déroulantes des branches / balises de la page Comparer sur bitbucket.org prennent désormais en charge les hachages de validation collés.
Alors maintenant, vous pouvez simplement aller
https://bitbucket.org/<owner>/<repo>/branches/compare/
et coller les hachages dans les listes déroulantes au lieu du piratage d'URL!la source
J'ai Bitbucket Server, version: v4.4.1
La réponse avec moi était la suivante.
Je cherchais cette réponse car dans mon projet, nous utilisons des sous-modules git, et dans les pull requests, je ne peux voir que l'ancien commit sha vs le nouveau commit sha de chaque sous-module qui a changé. Il n'y a pas de lien sur lequel cliquer ou quoi que ce soit (à ma connaissance) pour accéder à cette vue diff. Cette URL me permet également de voir ce qui a changé dans les sous-modules.
Btw, si quelqu'un connaît une meilleure façon de comparer deux commits dans des sous-modules lors d'une pull request, merci de me le faire savoir.
la source
Le format d'affichage de comparaison Bitbucket est le suivant:
Donné un exemple
ged/ruby-pg
(RubyGem, une bibliothèque ruby):Pour comparer deux versions (de la v0.18.1 à la v0.18.2)
https://bitbucket.org/ged/ruby-pg/branches/compare/v0.18.2%0Dv0.18.1
Pour comparer deux révisions (de f97dd6c à 22a3612)
https://bitbucket.org/ged/ruby-pg/branches/compare/22a361201fd1d387d59a066b179124694a446f38%0Df97dd6cb4f34da6a62c4339887249115c7c25b9c
la source
Accédez à votre référentiel bitbucket> Branches
Cliquez sur l'icône du menu et sur comparer
la source
Ce qui a fonctionné pour moi, c'est https://bitbucket.org/-theusername-/-projectnamealllowercase-/branches/compare/-Leftalphanumberic_commitcode-..-Rightalphanumeric_commit-#commits
Remplacez le
-username-
par votreusername
Merci à @Aguardientico
la source
Créez une balise légère pour le (s) commit (s) que vous souhaitez comparer. git -a [tagname] [commit_sha]
Ensuite, dans Bitbucket, dans le menu de comparaison (celui pour faire des pull requests) comparez simplement avec les balises.
la source
Vous pouvez également le faire dans une demande d'extraction, par exemple après que quelqu'un a poussé une branche pour corriger les résultats de l'examen. À ma connaissance, il n'y a pas encore d'interface utilisateur pour cela, mais vous pouvez entrer l'url comme ceci:
https://<bitbucket-server>/projects/<PROJECT>/repos/<REPO>/pull-requests/<PR-NUM>/<commit-hash>?since=<commit-hash-older>
la source
À l'invite de commande
git log -p -1
git log -p -5
Je me rends compte que ce n'est pas idéal pour montrer la différence directe entre deux versions spécifiques.
Réf. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
la source
Via le terminal, exécutez git sur le chemin de votre projet:
git diff <new commit> <old commit>
Ex:
git diff 26cf60f be5f978
la source