Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
GitHub - Delete commits history with git commands

First Method

Deleting the .git folder may cause problems in our git repository. If we want to delete all of our commits history, but keep the code in its current state, try this:

# Check out to a temporary branch:
git checkout --orphan TEMP_BRANCH

# Add all the files:
git add -A

# Commit the changes:
git commit -am "Initial commit"

# Delete the old branch:
git branch -D master

# Rename the temporary branch to master:
git branch -m master

# Finally, force update to our repository:
git push -f origin master

This will not keep our old commits history around. But if this doesn't work, try the next method below.

Second Method

# Clone the project, e.g. `myproject` is my project repository:
git clone https://github/heiswayi/myproject.git

# Since all of the commits history are in the `.git` folder, we have to remove it:
cd myproject

# And delete the `.git` folder:
git rm -rf .git

# Now, re-initialize the repository:
git init
git remote add origin https://github.com/heiswayi/myproject.git
git remote -v

# Add all the files and commit the changes:
git add --all
git commit -am "Initial commit"

# Force push update to the master branch of our project repository:
git push -f origin master

NOTE: You might need to provide the credentials for your GitHub account.

@ertugrulcetin

This comment has been minimized.

Copy link

commented Sep 13, 2017

Thank you!

@prageet

This comment has been minimized.

Copy link

commented Sep 23, 2017

Thank you.

@beAGoodQE

This comment has been minimized.

Copy link

commented Sep 30, 2017

First method worked, thanks for sharing!

@jayeshdshah

This comment has been minimized.

Copy link

commented Oct 12, 2017

while executing second method, it shown below error message
pathspec '.git' did not match any files

@xiongmai

This comment has been minimized.

Copy link

commented Oct 18, 2017

yay thanks! I used the first method.

@Rob-van-B

This comment has been minimized.

Copy link

commented Oct 24, 2017

great!

@DoctorCookie

This comment has been minimized.

Copy link

commented Nov 9, 2017

thanks

@he-dev

This comment has been minimized.

Copy link

commented Nov 19, 2017

Thank you! The first method worked for me ;-)

@jasonmeurer

This comment has been minimized.

Copy link

commented Dec 4, 2017

For those using the second method, remove 'git' from the beginning of the rm command.

And delete the .git folder:

rm -rf .git

@kirkvicent

This comment has been minimized.

Copy link

commented Dec 15, 2017

多谢多谢
from china

@Anihilakos

This comment has been minimized.

Copy link

commented Dec 15, 2017

thank you!

@maxdonetsk

This comment has been minimized.

Copy link

commented Dec 27, 2017

Works like a charm. Thanks!

@Zibri

This comment has been minimized.

Copy link

commented Dec 28, 2017

error: git rm -rf .git >>> rm -rf .git

@moshfeu

This comment has been minimized.

Copy link

commented Jan 10, 2018

Thanks!

@sebamawa

This comment has been minimized.

Copy link

commented Feb 6, 2018

First method ok! . Thanks!

@mohammadmahdikarimi

This comment has been minimized.

Copy link

commented Feb 14, 2018

I am completely new and it worked for me. Thanks

@Gabboxl

This comment has been minimized.

Copy link

commented Apr 24, 2018

Omg, Thanks bro!

@FadeMind

This comment has been minimized.

Copy link

commented Apr 28, 2018

rm -rf .git
git init
git remote add origin git@github.com:JohnDoe/foobar.git
git remote -v
git add --all
git commit -am "Initial commit"
git push -f origin master
@maxlefou

This comment has been minimized.

Copy link

commented Jun 15, 2018

First method didn't worked on my private git server. remote: error: denying non-fast-forward refs/heads/master (you should pull first)

@lucasbuetto

This comment has been minimized.

Copy link

commented Jun 20, 2018

Thanks Bro!

@Alexiades

This comment has been minimized.

Copy link

commented Jul 2, 2018

Thank you!! first method works perfect!

@greg-amato

This comment has been minimized.

Copy link

commented Jul 26, 2018

Thanks!

@IndraMahkota

This comment has been minimized.

Copy link

commented Jul 31, 2018

thanks

@vserrao

This comment has been minimized.

Copy link

commented Aug 9, 2018

Thanks!

@algenisromero

This comment has been minimized.

Copy link

commented Aug 12, 2018

Thanks!

@arharo

This comment has been minimized.

Copy link

commented Aug 21, 2018

Thanks mate!

@angeldev20

This comment has been minimized.

Copy link

commented Sep 3, 2018

Thanks.

@bernardowb

This comment has been minimized.

Copy link

commented Sep 4, 2018

Second method ok (the only I've tested)! Thanks!

@MarkusL27

This comment has been minimized.

Copy link

commented Sep 23, 2018

Thanks! Works perfect!

@Daltonic

This comment has been minimized.

Copy link

commented Sep 23, 2018

Thanks Man

@ShinekaBarnett

This comment has been minimized.

Copy link

commented Oct 17, 2018

Thanks!

@DianaLauraSaavedra

This comment has been minimized.

Copy link

commented Oct 18, 2018

donde se hace todo ese metodo

@AndrijCat

This comment has been minimized.

Copy link

commented Oct 21, 2018

Thanks you!

@WiliTest

This comment has been minimized.

Copy link

commented Oct 21, 2018

thanks you but please correct the second method:

And delete the .git folder:

git rm -rf .git

rm -rf .git

(for windows: at the begining create a new folder, open a git bash inside: through windows context menu)

@EricWu23

This comment has been minimized.

Copy link

commented Nov 2, 2018

Brilliant! Saved my life!

@jgwerner

This comment has been minimized.

Copy link

commented Nov 28, 2018

Awesome thanks dude 👍

@phoenixproject

This comment has been minimized.

Copy link

commented Nov 30, 2018

thanks. Very thanks!

@srinath654321

This comment has been minimized.

Copy link

commented Dec 17, 2018

Thank you so much the first method worked out well.

@danchamorro

This comment has been minimized.

Copy link

commented Jan 3, 2019

Awesome!

@crosslife

This comment has been minimized.

Copy link

commented Jan 13, 2019

Thank you!

@numoonchld

This comment has been minimized.

Copy link

commented Jan 16, 2019

thanks! - the first method worked - didn't need to try the second

@renatodysouza

This comment has been minimized.

Copy link

commented Jan 17, 2019

thank you, so much...

@Sofia190

This comment has been minimized.

Copy link

commented Jan 26, 2019

Thank you! It's brilliant!

@DanielDimanov

This comment has been minimized.

Copy link

commented Jan 27, 2019

Thank you!

@EPiC-APOC

This comment has been minimized.

Copy link

commented Feb 15, 2019

this works for my head repository (origin) how can I pull (or whatever) this to my base repository (upstream)?

@begueradj

This comment has been minimized.

Copy link

commented Mar 13, 2019

None of these methods worked for me.

@deppeler

This comment has been minimized.

Copy link

commented Apr 15, 2019

Just what I was looking for. Thank you for posting and sharing.

@MPGAJEWSKI

This comment has been minimized.

Copy link

commented Jul 21, 2019

The first method worked. Thanks!

@guyueshui

This comment has been minimized.

Copy link

commented Aug 28, 2019

I would say: mark! And thank you very much, I've wrote down this method to my blog, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.