Knowledge Base
Search
New article
Authentication is disabled (development mode).
Edit article
Title
Tags
Content
<pre><code class="language-bash"># Create repository "delete-commit" on GitHub cd /tmp/ mkdir delete-commit cd delete-commit git init :> README.md git add README.md git commit -m "good commit" # aaaaaaaa echo bad > README.md git add README.md git commit -m "bad commit" # bbbbbbbb echo fixed > README.md git add README.md git commit -m "good commit" # cccccccc git branch -M main git remote add origin git@github.com:flederwiesel/delete-commit.git git push -u origin main cd .. rm -rf delete-commit # # Before: # aaaaaaaa -> (bbbbbbbb) -> cccccccc # git clone git@github.com:flederwiesel/delete-commit.git cd delete-commit git checkout aaaaaaaa git checkout -b feature-fix git cherry-pick cccccccc # resolve conflicts sed -i '/<<<<<<</,/=======/d; />>>>>>>/d' README.md git add README.md git cherry-pick --continue # CCCCCCCC # conflicts resolved #git push --force-with-lease origin CCCCCCCC:refs/heads/main git push --force-with-lease origin $(git log -1 --format=%h):refs/heads/main # Pull changes into main git checkout main git branch -D feature-fix git rebase -i origin/main # Will complain about empty commit -> skip # select "drop" for bad commit git rebase --skip # # After: # aaaaaaaa -> CCCCCCCC #</code></pre>
Save
Cancel