{"id":104517,"date":"2022-06-28T09:36:45","date_gmt":"2022-06-28T07:36:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37"},"modified":"2022-06-28T09:36:45","modified_gmt":"2022-06-28T07:36:45","slug":"vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37","title":{"rendered":"Ver\u00f6ffentlichung des Versionskontrollsystems Git 2.37","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die Version 2.37 des verteilten Versionskontrollsystems Git wurde ver\u00f6ffentlicht. Git geh\u00f6rt zu den beliebtesten, zuverl\u00e4ssigsten und leistungsst\u00e4rksten Versionsverwaltungssystemen und bietet flexible, nichtlineare Entwicklungswerkzeuge, die auf Verzweigung und Zusammenf\u00fchrung von Branches basieren. Um die Integrit\u00e4t der Historie sicherzustellen und um Resilienz gegen nachtr\u00e4gliche \u00c4nderungen zu gew\u00e4hrleisten, wird eine implizite Hashing der gesamten vorherigen Historie in jedem Commit verwendet. Zudem ist es m\u00f6glich, digitale Signaturen der Entwickler f\u00fcr einzelne Tags und Commits zu \u00fcberpr\u00fcfen.       <\/p>\n<p>Im Vergleich zur vorherigen Version wurden 395 \u00c4nderungen in die neue Version aufgenommen, die mit Beteiligung von 75 Entwicklern vorbereitet wurden, von denen 20 erstmals an der Entwicklung teilgenommen haben. Die wesentlichen Neuerungen sind:  <\/p>\n<ul>\n<li class=\"l\"> Der Mechanismus der partiellen Indizes (sparse index), der nur einen Teil des Repositories abdeckt, wurde f\u00fcr den allgemeinen Gebrauch bereitgestellt. Partielle Indizes erm\u00f6glichen eine Leistungssteigerung und Einsparungen beim Speicherplatz in Repositories, in denen partielle Klonvorg\u00e4nge (sparse-checkout) durchgef\u00fchrt werden oder mit einer unvollst\u00e4ndigen Kopie des Repositories gearbeitet wird. In der neuen Version wurde die Integration der partiellen Indizes in die Befehle \u201egit show\u201c, \u201egit sparse-checkout\u201c und \u201egit stash\u201c abgeschlossen. Die auff\u00e4lligsten Leistungsgewinne durch die Verwendung partieller Indizes zeigen sich beim Befehl \u201egit stash\u201c, dessen Ausf\u00fchrungsgeschwindigkeit in bestimmten Situationen um bis zu 80 % gesteigert wurde.\n<li class=\"l\"> Ein neuer Mechanismus namens \u201ecruft packs\u201c wurde implementiert, um unerreichbare Objekte (unreachable) zu verpacken, auf die im Repository keine Referenzen (keine Branches oder Tags) existieren. Unerreichbare Objekte werden vom Garbage Collector entfernt, verbleiben jedoch eine bestimmte Zeit im Repository, um Race Conditions auszuschlie\u00dfen. Um die Aufenthaltsdauer unerreichbarer Objekte zu verfolgen, m\u00fcssen sie mit Zeitstempeln versehen werden, was es unm\u00f6glich macht, sie in einer einzigen Pack-Datei zu speichern, in der alle Objekte denselben \u00c4nderungszeitpunkt haben. Die zuvor verwendete Speicherung jedes Objekts in einer separaten Datei f\u00fchrte zu Problemen, wenn eine gro\u00dfe Anzahl frischer unerreichbarer Objekte vorhanden war, die noch nicht zur L\u00f6schung f\u00e4llig waren. Der vorgeschlagene Mechanismus \u201ecruft packs\u201c erm\u00f6glicht es, alle unerreichbaren Objekte in einer einzigen Pack-Datei zu speichern, w\u00e4hrend Daten \u00fcber den \u00c4nderungszeitpunkt jedes Objekts in einer separaten Tabelle festgehalten werden, die in einer Datei mit der Erweiterung \u201e.mtimes\u201c gespeichert wird.\n<li class=\"l\"> F\u00fcr Windows und macOS wurde ein integrierter Mechanismus zur Verfolgung von \u00c4nderungen im Dateisystem implementiert, der es erm\u00f6glicht, bei Operationen wie \u201egit status\u201c auf eine vollst\u00e4ndige Durchsuchung des Arbeitsverzeichnisses zu verzichten. Zuvor mussten zur Verfolgung von \u00c4nderungen \u00fcber Hooks externe \u00dcberwachungsprogramme wie Watchman integriert werden, was die Installation zus\u00e4tzlicher Software und Konfiguration erforderte. Jetzt ist diese Funktionalit\u00e4t integriert und kann mit dem Befehl \u201egit config core.fsmonitor true\u201c aktiviert werden.\n<li class=\"l\"> Im Befehl \u201egit sparse-checkout\u201c wurde die Unterst\u00fctzung f\u00fcr den alternativen Modus \u201e\u2014cone\u201c zur Beschreibung von Mustern f\u00fcr partial cloning als veraltet deklariert. Diese Methode erm\u00f6glichte es, beim Ausschluss von Teilen des Repositories, die bei der Klonoperation ber\u00fccksichtigt werden, spezifische Dateien mit Syntax von \u201e.gitignore\u201c aufzulisten, was die Verwendung von partiellen Indizes zur Optimierung ausschloss.\n<li class=\"l\"> Die Flexibilit\u00e4t der Konfiguration des Aufrufs von fsync() zur Sicherung von \u00c4nderungen auf der Festplatte wurde erh\u00f6ht. Der Parameter \u201ecore.fsyncMethod\u201c unterst\u00fctzt nun die Synchronisationsstrategie \u201ebatch\u201c, die die Verarbeitung beim Schreiben einer gro\u00dfen Anzahl von einzelnen Dateien beschleunigt, indem \u00c4nderungen in einem R\u00fcckschreib-Cache gesammelt werden, der mit einem Aufruf von fsync() ausgegeben wird. Ein Test, bei dem mit dem Befehl \u201egit add\u201c 500 Dateien hinzugef\u00fcgt wurden, wurde im neuen Modus in 0,15 Sekunden ausgef\u00fchrt, w\u00e4hrend der Aufruf von fsync() f\u00fcr jede Datei 1,88 Sekunden in Anspruch nahm und ohne die Verwendung von fsync 0,06 Sekunden ben\u00f6tigte.\n<li class=\"l\"> Im Befehl \u201egit log\u201c und \u201egit rev-list\u201c wurde die Option \u201e\u2014since-as-filter=X\u201c hinzugef\u00fcgt, um Informationen \u00fcber Commits zu filtern, deren Erstellungszeit \u00e4lter als \u201eX\u201c ist. Im Gegensatz zur Option \u201e\u2014since\u201c ist der neue Befehl als Filter implementiert, der die Durchsuchung nach dem ersten Commit, der \u00e4lter als die angegebene Zeit ist, nicht stoppt.\n<li class=\"l\"> Im Befehl \u201egit remote\u201c wird beim Angeben des Flags \u201e-v\u201c die Ausgabe von Informationen \u00fcber partielle Klone des Repositories sichergestellt.\n<li class=\"l\"> Die Einstellung \u201etransfer.credentialsInUrl\u201c wurde hinzugef\u00fcgt, die die Werte \u201ewarn\u201c, \u201edie\u201c und \u201eallow\u201c annehmen kann. Wenn im Parameter \u201eremote..url\u201c Anmeldeinformationen im Klartext angegeben sind, wird der Versuch, die Operationen \u201efetch\u201c oder \u201epush\u201c auszuf\u00fchren, mit einem Fehler beendet, wenn die Einstellung \u201etransfer.credentialsInUrl\u201c den Wert \u201edie\u201c hat, oder mit einer Warnung, wenn der Wert \u201ewarn\u201c eingestellt ist.\n<li class=\"l\"> Standardm\u00e4\u00dfig wird eine neue Implementierung des interaktiven Modus des Befehls \u201egit add -i\u201c verwendet, die von Perl nach C umgeschrieben wurde.        <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57416\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.37. Git \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445, \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0445 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u0433\u0438\u0431\u043a\u0438\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0431\u0430\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0438 \u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0438 \u0432\u0435\u0442\u043e\u043a. \u0414\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c &#171;\u0437\u0430\u0434\u043d\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c&#187; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0435\u044f\u0432\u043d\u043e\u0435 \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435, \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u0435\u043d\u0438\u0435 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104517","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.37.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.37 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.37.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-06-28T07:36:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-06-28T07:36:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ver\u00f6ffentlichung des Versionsverwaltungssystems Git 2.37 | ProHoster","description":"Die Ver\u00f6ffentlichung des verteilten Versionsverwaltungssystems Git 2.37 wurde vorgestellt.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.37 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 Git 2.37.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-sistemy-upravleniya-ishodnymi-tekstami-git-2-37","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-06-28T07:36:45+00:00","article:modified_time":"2022-06-28T07:36:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104517","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-06-28 07:37:48","updated":"2022-09-28 18:42:49","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/104517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=104517"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/104517\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=104517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=104517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=104517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}