{"id":29058,"date":"2018-12-10T10:54:44","date_gmt":"2018-12-10T08:54:44","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=29058"},"modified":"2018-12-10T10:54:52","modified_gmt":"2018-12-10T08:54:52","slug":"git-merge-vs-git-rebase","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/","title":{"rendered":"git merge vs. git rebase"},"content":{"rendered":"<!-- google_ad_section_start -->\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\" data-attachment-id=\"29059\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/git-merge-rebase\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/12\/git-merge-rebase.jpeg?fit=600%2C400&amp;ssl=1\" data-orig-size=\"600,400\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"git merge rebase\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/12\/git-merge-rebase.jpeg?fit=600%2C400&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/12\/git-merge-rebase.jpeg?resize=600%2C400&#038;ssl=1\" alt=\"\" class=\"wp-image-29059\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/12\/git-merge-rebase.jpeg?w=600&amp;ssl=1 600w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/12\/git-merge-rebase.jpeg?resize=500%2C333&amp;ssl=1 500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s a lot of confusion between <a href=\"https:\/\/git-scm.com\/docs\/git-merge\">git merge<\/a> and <a href=\"https:\/\/git-scm.com\/docs\/git-rebase\">git rebase<\/a> even among seasoned users of git.\u00a0 &#8220;<a href=\"https:\/\/medium.freecodecamp.org\/an-introduction-to-git-merge-and-rebase-what-they-are-and-how-to-use-them-131b863785f\">An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them<\/a>&#8221; is a great article explaining the pros and cons of each, and when and why using each of this is better.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While I understand it a lot better now, I still much prefer the merge approach.\u00a0 It&#8217;s simpler and less dangerous, and maintains the full history.\u00a0 This might get noisy at times, but works as a last resort when trying to understand what was going through the developer&#8217;s head when he was working on a piece of code.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>There&#8217;s a lot of confusion between git merge and git rebase even among seasoned users of git.\u00a0 &#8220;An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them&#8221; is a great article explaining the pros and cons of each, and when and why using each of this is better. While &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">git merge vs. git rebase<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"git merge vs. git rebase #WebDev #git #BestPractices","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3069,3179,2265,1588,1330],"keyring_services":[],"class_list":["post-29058","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-best-practices","tag-collaboration","tag-git","tag-version-control","tag-web-development"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"There&#039;s a lot of confusion between git merge and git rebase even among seasoned users of git. &quot;An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them&quot; is a great article explaining the pros and cons of each, and when and why using each of this is better. While\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"git merge vs. git rebase - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"There&#039;s a lot of confusion between git merge and git rebase even among seasoned users of git. &quot;An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them&quot; is a great article explaining the pros and cons of each, and when and why using each of this is better. While\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2018-12-10T08:54:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2018-12-10T08:54:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"git merge vs. git rebase - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"There&#039;s a lot of confusion between git merge and git rebase even among seasoned users of git. &quot;An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them&quot; is a great article explaining the pros and cons of each, and when and why using each of this is better. While\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#blogposting\",\"name\":\"git merge vs. git rebase - Leonid Mamchenkov\",\"headline\":\"git merge vs. git rebase\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2018\\\/12\\\/git-merge-rebase.jpeg?fit=600%2C400&ssl=1\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#articleImage\",\"width\":600,\"height\":400},\"datePublished\":\"2018-12-10T10:54:44+02:00\",\"dateModified\":\"2018-12-10T10:54:52+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, best practices, collaboration, git, version control, web development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#listItem\",\"name\":\"git merge vs. git rebase\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#listItem\",\"position\":4,\"name\":\"git merge vs. git rebase\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/\",\"name\":\"git merge vs. git rebase - Leonid Mamchenkov\",\"description\":\"There's a lot of confusion between git merge and git rebase even among seasoned users of git. \\\"An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them\\\" is a great article explaining the pros and cons of each, and when and why using each of this is better. While\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/12\\\/10\\\/git-merge-vs-git-rebase\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2018-12-10T10:54:44+02:00\",\"dateModified\":\"2018-12-10T10:54:52+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"git merge vs. git rebase - Leonid Mamchenkov","description":"There's a lot of confusion between git merge and git rebase even among seasoned users of git. \"An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them\" is a great article explaining the pros and cons of each, and when and why using each of this is better. While","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#blogposting","name":"git merge vs. git rebase - Leonid Mamchenkov","headline":"git merge vs. git rebase","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/12\/git-merge-rebase.jpeg?fit=600%2C400&ssl=1","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#articleImage","width":600,"height":400},"datePublished":"2018-12-10T10:54:44+02:00","dateModified":"2018-12-10T10:54:52+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#webpage"},"articleSection":"All, Programming, Technology, Web work, best practices, collaboration, git, version control, web development"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#listItem","name":"git merge vs. git rebase"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#listItem","position":4,"name":"git merge vs. git rebase","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/","name":"git merge vs. git rebase - Leonid Mamchenkov","description":"There's a lot of confusion between git merge and git rebase even among seasoned users of git. \"An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them\" is a great article explaining the pros and cons of each, and when and why using each of this is better. While","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2018-12-10T10:54:44+02:00","dateModified":"2018-12-10T10:54:52+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"git merge vs. git rebase - Leonid Mamchenkov","og:description":"There's a lot of confusion between git merge and git rebase even among seasoned users of git. &quot;An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them&quot; is a great article explaining the pros and cons of each, and when and why using each of this is better. While","og:url":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2018-12-10T08:54:44+00:00","article:modified_time":"2018-12-10T08:54:52+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"git merge vs. git rebase - Leonid Mamchenkov","twitter:description":"There's a lot of confusion between git merge and git rebase even among seasoned users of git. &quot;An Introduction to Git Merge and Git Rebase: What They Do and When to Use Them&quot; is a great article explaining the pros and cons of each, and when and why using each of this is better. While","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"29058","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,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 05:36:02","updated":"2026-01-15 13:55:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tgit merge vs. git rebase\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"git merge vs. git rebase","link":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/10\/git-merge-vs-git-rebase\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":25203,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/02\/29\/git-rebase-and-the-golden-rule-explained\/","url_meta":{"origin":29058,"position":0},"title":"Git rebase and the golden rule explained","author":"Leonid Mamchenkov","date":"February 29, 2016","format":false,"excerpt":"\"Git rebase and the golden rule explained\" - is an excellent explanation of what happens when you do rebase in git repository. \u00a0If you know already, or don't care, at least remember the golden rule: Never, NEVER, NEVER, rebase a shared branch. By shared branch I mean a branch that\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":21877,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/29\/gitjk-undo-what-you-just-did-in-git\/","url_meta":{"origin":29058,"position":1},"title":"gitjk &#8211; undo what you just did in git","author":"Leonid Mamchenkov","date":"May 29, 2014","format":"link","excerpt":"gitjk - undo what you just did in git. Supports the following git commands: add, archive, branch, cat-file, checkout, clone, commit, diff, fetch, grep, init, log, ls-tree, merge, mv, pull, push, remote, revert, rm, show, stash,status. Support for the following git commands is not implemented: bisect, fsck, gc, prune, rebase,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":16691,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/09\/07\/smartgit-the-easy-to-use-githgsvn-client\/","url_meta":{"origin":29058,"position":2},"title":"SmartGit \u2014 The Easy-to-Use Git+Hg+SVN Client","author":"Leonid Mamchenkov","date":"September 7, 2012","format":"link","excerpt":"SmartGit \u2014 The Easy-to-Use Git+Hg+SVN Client Personally, I prefer command line tools that allow me the greatest flexibility and control. \u00a0However there are many people who feel more comfortable in graphical environments. \u00a0For them, SmartGit looks like a good option. SmartGit is an easy-to-use graphical user interface for Git, Mercurial\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27310,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/09\/use-vimdiff-as-git-mergetool\/","url_meta":{"origin":29058,"position":3},"title":"Use vimdiff as git mergetool","author":"Leonid Mamchenkov","date":"February 9, 2017","format":false,"excerpt":"Ruslan Osipov has a very handy tutorial on how to setup Vim text editor as git merge tool, for resolving git conflicts. Basically, run the following commands to tell git to use Vim as a merge tool (don't forget the --global flag if you want it for all your projects,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/three-way-merge-with-vimdiff-500x259.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":26189,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/06\/15\/git-2-9\/","url_meta":{"origin":29058,"position":4},"title":"Git 2.9","author":"Leonid Mamchenkov","date":"June 15, 2016","format":false,"excerpt":"Git 2.9 has been released a few days, bringing in some very useful functionality, such as showing renamed files in git diff and git log, forbidding the merge of two branches that have no common ancestors, configurable path to hooks, and more. \u00a0All are welcome changes, making the life of\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27671,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/08\/git-commit-good-practice\/","url_meta":{"origin":29058,"position":5},"title":"Git Commit Good Practice","author":"Leonid Mamchenkov","date":"June 8, 2017","format":false,"excerpt":"Open Stack wiki has an excellent guide on how to create good commits. \u00a0In a few places it is too specific to Open Stack development practices, but overall it's one of the best guides I've seen for any project using git. It is basically split into two sections. \u00a0One on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/06\/git_commit.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/29058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=29058"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/29058\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=29058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=29058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=29058"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=29058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}