{"id":177378,"date":"2023-05-31T22:09:29","date_gmt":"2023-05-31T21:09:29","guid":{"rendered":"https:\/\/liora.io\/de\/?p=177378"},"modified":"2026-02-06T06:43:44","modified_gmt":"2026-02-06T05:43:44","slug":"cherry-picking-azure-devops-alles-ueber-das-tool","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/cherry-picking-azure-devops-alles-ueber-das-tool","title":{"rendered":"Cherry Picking Azure DevOps: Alles \u00fcber das Tool"},"content":{"rendered":"Cherry Picking Azure DevOps: Oftmals m\u00fcssen f\u00fcr die Erstellung einer Software oder Anwendung mehrere Millionen Zeilen Code geschrieben werden. Um Verbesserungen vorzunehmen oder der Anwendung neue Funktionen hinzuzuf\u00fcgen, erstellen <strong>DevOps<\/strong> mehrere Versionen desselben Produkts mit einer gro\u00dfen Anzahl von Ver\u00f6ffentlichungszweigen.\n\nWenn aber ein <strong>Fehler oder Bug behoben<\/strong> werden muss, m\u00fcssen die Entwickler \u00c4nderungen an m\u00f6glichst vielen Ver\u00f6ffentlichungszweigen vornehmen. Dies ist eine sehr komplexe und sorgf\u00e4ltige Aufgabe. Gl\u00fccklicherweise gibt es L\u00f6sungen, die den Entwicklern die Arbeit erleichtern. Dazu geh\u00f6rt auch das <strong>Cherry Picking &#8211; genauer gesagt das Cherry Picking Azure DevOps.\n<\/strong>\n\nWorum handelt es sich dabei? Wie kann man Cherry Picking mit Azure DevOps durchf\u00fchren? Wir beantworten all deine Fragen.\n\n?Auch interessant:\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"268\"><\/colgroup>\n<tbody>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Gitlab Repository&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/gitlab-alles-ueber-das-git-repository-fuer-devops\"><a href=\"https:\/\/liora.io\/de\/gitlab-alles-ueber-das-git-repository-fuer-devops\" target=\"_blank\" rel=\"noopener\">Gitlab Repository<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Calms DevOps&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/calms-devops-ein-leitfaden-fuer-die-digitale-transformation\"><a href=\"https:\/\/liora.io\/de\/calms-devops-ein-leitfaden-fuer-die-digitale-transformation\" target=\"_blank\" rel=\"noopener\">Calms DevOps<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;DevOps Architekt&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/devops-architekt-qualifikationen-aufgaben-und-gehalt\"><a href=\"https:\/\/liora.io\/de\/devops-architekt-qualifikationen-aufgaben-und-gehalt\" target=\"_blank\" rel=\"noopener\">DevOps Architekt<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Was ist DevOps und was verdient ein DevOps Ingenieur ?&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/was-ist-devops-und-was-verdient-ein-devops-ingenieur\"><a href=\"https:\/\/liora.io\/de\/was-ist-devops-und-was-verdient-ein-devops-ingenieur\" target=\"_blank\" rel=\"noopener\">Was ist DevOps und was verdient ein DevOps Ingenieur ?<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Azure DevOps Methoden&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/azure-devops-definitionen-devops-methoden\"><a href=\"https:\/\/liora.io\/de\/azure-devops-definitionen-devops-methoden\" target=\"_blank\" rel=\"noopener\">Azure DevOps Methoden<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<style><br \/>\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style>\n<h3>Was ist Cherry Picking bzw. Cherry Picking Azure DevOps ?<\/h3>\n<h4>Definition<\/h4>\n<strong>Cherry Picking<\/strong> bedeutet auf Deutsch Kirschen ausw\u00e4hlen. Aber was hat das dann mit Webentwicklung zu tun?\n\nUm das zu verstehen, m\u00fcssen wir zu den Grundlagen des Software-Konfigurationsmanagements zur\u00fcckkehren. Bei der Erstellung von Anwendungen entwerfen <a href=\"https:\/\/liora.io\/de\/canary-deployment-fuer-devops-was-ist-das\">DevOps<\/a> n\u00e4mlich verschiedene Versionen, die auf den vorgenommenen \u00c4nderungen und Verbesserungen basieren. Ein Zweig wird dann als Entwicklungsachse einer Version erstellt.\n\nHier ist das Bild eines Baumes recht anschaulich, da ein Branch immer von einem Quellbranch ausgeht, aber auch an andere Unterbranchen angeh\u00e4ngt werden kann.\n\nDie Software hat dann eine Vielzahl von Zweigen, die je nach den Bed\u00fcrfnissen der Anwendung ge\u00e4ndert oder korrigiert werden k\u00f6nnen. Wenn \u00c4nderungen vorgenommen werden, muss der <a href=\"https:\/\/liora.io\/de\/sre-vs-devops-wo-liegen-die-unterschiede\">DevOps<\/a> einen neuen Patch-Zweig erstellen, die erforderlichen Korrekturen vornehmen und diese \u00c4nderungen wieder auf andere Zweige \u00fcbertragen.\n\nDas <strong>Cherry Picking Azure DevOps<\/strong> erleichtert genau diese R\u00fcck\u00fcbertragung. Mit dieser Methode w\u00e4hlt der Entwickler die Korrekturen aus und kopiert sie in einen Zielzweig.\n\n<style><br \/>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/devops-azure-cherry-picking.jpg\" title=\"\" alt=\"\" loading=\"lazy\"><figcaption><\/figcaption><\/figure>\n<h4>Der Prozess des Cherry Picking DevOps<\/h4>\nZum besseren Verst\u00e4ndnis ist hier der Prozess f\u00fcr die Erstellung von Software (mit Korrekturen) \u00fcber Cherry Picking Azure DevOps dargestellt.\n<ul>\n \t<li>Wenn die erste Version der Software fertig ist, erstellen die <a href=\"https:\/\/liora.io\/de\/devsecops-definition-was-ist-der-unterschied-zu-devops\">DevOps<\/a> einen ersten Ver\u00f6ffentlichungszweig.<\/li>\n \t<li>Wenn die Nutzer Fehler melden oder Verbesserungen verlangen, erstellen die Entwickler einen neuen Patch-Branch mit den erforderlichen \u00c4nderungen.<\/li>\n \t<li>Mithilfe von<strong> Cherry Picking<\/strong> w\u00e4hlen sie dann die Patches aus und setzen sie in den Ver\u00f6ffentlichungszweig um.<\/li>\n<\/ul>\nAuf diese Weise werden Fehler in den verschiedenen Versionen behoben.\n\nGut zu wissen: Cherry-Picking wird auf dem Hauptzweig durchgef\u00fchrt, um zu verhindern, dass eine neue Version mit demselben Fehler ausgerollt wird.\n<h4>Cherry picking, Cherry Picking Azure DevOps, fusion, rebase ; Wo ist der Unterschied ?<\/h4>\n<strong>Cherry Picking<\/strong> unterscheidet sich von anderen Methoden zur Behebung von Fehlern, wie z. B. :\n<ul>\n \t<li>Merging: Hier werden mehrere \u00c4nderungen kombiniert, um eine neue Version der Software zu erstellen.<\/li>\n \t<li>Rebase: Hier integriert der Entwickler die \u00c4nderungen in den Zielzweig, ohne den Quellzweig zu ver\u00e4ndern.<\/li>\n<\/ul>\nIm Vergleich zu diesen beiden Methoden ist der unbestreitbare Vorteil des Cherry Picking die M\u00f6glichkeit, spezifische \u00c4nderungen anzuwenden.\n<h3>Wie funktioniert das Cherry Picking ?<\/h3>\n<h4>Das Cherry Picking Azure DevOps<\/h4>\nUm das Cherry Picking zu vereinfachen, verf\u00fcgt <a href=\"https:\/\/azure.microsoft.com\/de-de\/\">Azure Devops<\/a> \u00fcber eine eingebaute Funktion, die es erm\u00f6glicht, \u00c4nderungen (pull request) in einem neuen Branch direkt aus einem Browser heraus auszuw\u00e4hlen.\n\nGrunds\u00e4tzlich k\u00f6nnen mit diesem<strong> Tool Patches<\/strong> auf einen einzelnen Branch angewendet werden.\nWenn du sie auf mehrere Zweige anwenden musst, musst du den Vorgang f\u00fcr alle Zweige wiederholen. Gl\u00fccklicherweise ist es m\u00f6glich, die<strong> Azure DevOps-Erweiterung<\/strong> f\u00fcr <strong>Multi-Cherry-Picking<\/strong> zu verwenden.\n\nM\u00f6chtest du mehr dar\u00fcber erfahren, wie Cherry Picking mit Azure DevOps funktioniert? Dann bist du bei Liora genau richtig.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Entdecke unsere Kurse<\/a><\/div><\/div>\n\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"478\" height=\"468\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/isolated-g20d941386_640-e1668691763645.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/isolated-g20d941386_640-e1668691763645.png 478w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/isolated-g20d941386_640-e1668691763645-300x294.png 300w\" sizes=\"(max-width: 478px) 100vw, 478px\">\n\n<figcaption><\/figcaption><\/figure>\n<h4>Weitere n\u00fctzliche Werkzeuge f\u00fcr das Cherry Picking Azure DevOps<\/h4>\nNeben dem Cherry Picking mit Azure k\u00f6nnen DevOps auch andere Tools verwenden, um Zweigvalidierungen in einen Zielzweig zu kopieren.\n\nHier sind weitere n\u00fctzliche Tools f\u00fcr Cherry Picking\n<ul>\n \t<li>Visual studio 2022;<\/li>\n \t<li>Visual studio 2019 ;<\/li>\n \t<li>Visual studio 2017 ;<\/li>\n \t<li>Git command line.<\/li>\n<\/ul>\n<h3>Warum sollte man Cherry Picking mit Azure verwenden?<\/h3>\nUm dem Endbenutzer ein optimales Produkt zu liefern, erstellt der <strong>DevOps<\/strong> oft mehrere Versionen. So k\u00f6nnen sie kontinuierlich Verbesserungen vornehmen, ohne die Grundstruktur zu verlieren. Damit diese \u00c4nderungen aber auch in die Versionen zur\u00fcckgeschrieben werden, ist es von entscheidender Bedeutung, Cherry Picking mit<strong> Azure DevOps<\/strong> zu verwenden.\n\nDies erm\u00f6glicht es Entwicklern, :\n<ul>\n \t<li>Eine bestimmte Funktion von einem Zweig auf einen anderen verteilen ;<\/li>\n \t<li>Eine gut gemachte Arbeit an einem falschen Zweig in einen anderen Zielzweig kopieren ;<\/li>\n \t<li>Vereinfachen der team\u00fcbergreifenden Zusammenarbeit bei der Konfiguration von Software ;<\/li>\n \t<li>Korrekturen \u00fcber mehrere Zweige hinweg vornehmen.<\/li>\n<\/ul>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Entdecke unsere Weiterbildungen<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cherry Picking Azure DevOps: Oftmals m\u00fcssen f\u00fcr die Erstellung einer Software oder Anwendung mehrere Millionen Zeilen Code geschrieben werden. Um Verbesserungen vorzunehmen oder der Anwendung neue Funktionen hinzuzuf\u00fcgen, erstellen DevOps mehrere Versionen desselben Produkts mit einer gro\u00dfen Anzahl von Ver\u00f6ffentlichungszweigen. Wenn aber ein Fehler oder Bug behoben werden muss, m\u00fcssen die Entwickler \u00c4nderungen an m\u00f6glichst [&hellip;]<\/p>\n","protected":false},"author":78,"featured_media":177380,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-177378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/177378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=177378"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/177378\/revisions"}],"predecessor-version":[{"id":217493,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/177378\/revisions\/217493"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/177380"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=177378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=177378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}