{"id":805,"date":"2021-06-11T13:58:15","date_gmt":"2021-06-11T13:58:15","guid":{"rendered":"https:\/\/blog.faktor0.de\/?p=805"},"modified":"2022-03-16T13:22:05","modified_gmt":"2022-03-16T13:22:05","slug":"git-rebase","status":"publish","type":"post","link":"https:\/\/blog.faktor0.de\/?p=805","title":{"rendered":"Git Rebase"},"content":{"rendered":"<p><strong>Um die Git-Historie zu \u00e4ndern, ist ein REBASE n\u00f6tig.<\/strong><\/p>\n<ul>\n<li>Auf den Git-Stand wechseln<\/li>\n<li>Befehle auf der Kommandozeile, im Ordner des Repository:<br \/>\n  <code>git -i -rebase [branch-fuer-rebase]<\/code><\/li>\n<li>Die Reihenfolge der Commits kann im VIM-Editor ge\u00e4ndert werden<\/li>\n<li>Um einen Commit zu ver\u00e4ndern, den Befehl &#8222;pick&#8220; in &#8222;edit&#8220; \u00e4ndern<\/li>\n<li>Der Befehl &#8222;squash&#8220; verbindet den Commit mit dem vorgehenden Commit<\/li>\n<li>Nach dem Verlassen von VIM mit &#8222;wq&#8220; wird der Rebase gestartet<\/li>\n<li>Bei einem Konflikt oder &#8222;edit&#8220;-Commit wird der Rebase gestoppt<\/li>\n<li>Um den Rebase fortzusetzen, <code>git -rebase --continue<\/code> eingeben<\/li>\n<\/ul>\n<p><strong>Editieren eines Commit:<\/strong><\/p>\n<p>\n    Der Commit muss im Tortoise-Log zuerst r\u00fcckg\u00e4ngig gemacht werden: den Commit <strong>vor<\/strong> dem edit-Commit anklicken und &#8222;<em>reset to this<\/em>&#8220; w\u00e4hlen, dann &#8222;<em>Mixed Reset<\/em>&#8220; w\u00e4hlen und resetten.<\/p>\n<p>    Jetzt das Tortoise-Log verlassen und das Repo neu &#8222;commiten&#8220;. Der Commit kann jetzt neu gemacht werden, aufgeteilt werden (mehrere Commits), die Beschreibung kann    ge\u00e4ndert werden.<\/p>\n<p>    Die Dateien eines Commit k\u00f6nnen in der Git-GUI ge\u00e4ndert werden.<\/p>\n<p><strong>Resetten eines Branches auf einen anderen Branch (Tortoise-Git):<\/strong><\/p>\n<p>Wenn man einen &#8222;Test-Branch&#8220; erzeugt hat, um etwas auszuprobieren, m\u00f6chte man eventuell einen alten Branch auf den Test-Branch resetten (um die \u00c4nderungen im Test-Branch &#8222;offiziell&#8220; zu machen). Vorgehensweise:<\/p>\n<ul>\n<li>Auf den alten Branch wechseln (switch)<\/li>\n<li>Das Git-Log des Test-Branch anzeigen (im Revision-Graph rechtsclick auf Branch, dann Log)<\/li>\n<li>Im Git-Log rechts auf den obersten Commit klicken (dies sollte der Test-Branch sein)<\/li>\n<li>&#8222;Reset <Branchname> to this&#8220; w\u00e4hlen<\/li>\n<li><strong>Hard<\/strong> Reset durchf\u00fchren (nicht Mixed Reset)<\/li>\n<p><strong>Branch l\u00f6schen:<\/strong><\/p>\n<ul>\n<li>Lokal: <code>git branch -D [Branch]<\/code><\/li>\n<li>Remote: <code>git push origin --delete [Branch]<\/code><\/li>\n<\/ul>\n<p><strong>Tag erzeugen:<\/strong><\/p>\n<p>\n<code>git tag [Tag]<\/code><\/p>\n<p><strong>Tag auf server\/remote pushen:<\/strong><\/p>\n<p>\n<code>git push origin [Tag]<\/code><\/p>\n<p><strong>Tag l\u00f6schen:<\/strong><\/p>\n<p>\n<code>git tag -d [Tag]<\/code><\/p>\n<p><strong>Tag vom Server\/remote l\u00f6schen:<\/strong><\/p>\n<p>\n<code> git push --delete origin [Tag]<\/code><\/p>\n<p><strong>Git Message vom 1. Commit \u00e4ndern:<\/strong><\/p>\n<p>\n<code><br \/>\ngit rebase -i --root<br \/>\ngit commit --amend<br \/>\ngit rebase --continue<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um die Git-Historie zu \u00e4ndern, ist ein REBASE n\u00f6tig. Auf den Git-Stand wechseln Befehle auf der Kommandozeile, im Ordner des Repository: git -i -rebase [branch-fuer-rebase] Die Reihenfolge der Commits kann im VIM-Editor ge\u00e4ndert werden Um einen Commit zu ver\u00e4ndern, den Befehl &#8222;pick&#8220; in &#8222;edit&#8220; \u00e4ndern Der Befehl &#8222;squash&#8220; verbindet den Commit mit dem vorgehenden Commit [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-805","post","type-post","status-publish","format-standard","hentry","category-git"],"_links":{"self":[{"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=\/wp\/v2\/posts\/805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=805"}],"version-history":[{"count":33,"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=\/wp\/v2\/posts\/805\/revisions"}],"predecessor-version":[{"id":945,"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=\/wp\/v2\/posts\/805\/revisions\/945"}],"wp:attachment":[{"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.faktor0.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}