Create a gist now

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.

Show comment
Hide comment

Thank you!

@prageet

This comment has been minimized.

Show comment
Hide comment
@prageet

prageet Sep 23, 2017

Thank you.

prageet commented Sep 23, 2017

Thank you.

@baGoodQE

This comment has been minimized.

Show comment
Hide comment
@baGoodQE

baGoodQE Sep 30, 2017

First method worked, thanks for sharing!

First method worked, thanks for sharing!

@jayeshdshah

This comment has been minimized.

Show comment
Hide comment
@jayeshdshah

jayeshdshah Oct 12, 2017

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

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

@xiongmai

This comment has been minimized.

Show comment
Hide comment
@xiongmai

xiongmai Oct 18, 2017

yay thanks! I used the first method.

yay thanks! I used the first method.

@Rob-van-B

This comment has been minimized.

Show comment
Hide comment

great!

@DoctorCookie

This comment has been minimized.

Show comment
Hide comment

thanks

@he-dev

This comment has been minimized.

Show comment
Hide comment
@he-dev

he-dev Nov 19, 2017

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

he-dev commented Nov 19, 2017

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

@jasonmeurer

This comment has been minimized.

Show comment
Hide comment
@jasonmeurer

jasonmeurer 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

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.

Show comment
Hide comment
@kirkvicent

kirkvicent Dec 15, 2017

多谢多谢
from china

多谢多谢
from china

@Anihilakos

This comment has been minimized.

Show comment
Hide comment

thank you!

@maxdonetsk

This comment has been minimized.

Show comment
Hide comment
@maxdonetsk

maxdonetsk Dec 27, 2017

Works like a charm. Thanks!

Works like a charm. Thanks!

@Zibri

This comment has been minimized.

Show comment
Hide comment
@Zibri

Zibri Dec 28, 2017

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

Zibri commented Dec 28, 2017

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

@moshfeu

This comment has been minimized.

Show comment
Hide comment

moshfeu commented Jan 10, 2018

Thanks!

@sebamawa

This comment has been minimized.

Show comment
Hide comment
@sebamawa

sebamawa Feb 6, 2018

First method ok! . Thanks!

sebamawa commented Feb 6, 2018

First method ok! . Thanks!

@mohammadmahdikarimi

This comment has been minimized.

Show comment
Hide comment
@mohammadmahdikarimi

mohammadmahdikarimi Feb 14, 2018

I am completely new and it worked for me. Thanks

I am completely new and it worked for me. Thanks

@Gabboxl

This comment has been minimized.

Show comment
Hide comment
@Gabboxl

Gabboxl Apr 24, 2018

Omg, Thanks bro!

Gabboxl commented Apr 24, 2018

Omg, Thanks bro!

@FadeMind

This comment has been minimized.

Show comment
Hide comment
@FadeMind

FadeMind 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
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.

Show comment
Hide comment
@maxlefou

maxlefou 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)

maxlefou 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.

Show comment
Hide comment

Thanks Bro!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment