Basically, due to events beyond my control, my remote repo was moved - I did a lot of work on my local copy in the meantime and now I really just want to overwrite everything in the remote repo with my local files.
However, I don't seem to be able to do this. The closest I can get is to pull and merge, but then it wants to walk me through some convoluted process for merging. I don't want to merge. I want to overwrite. I don't need a new branch - basically, I just want a fresh start.
The remote repo is on unfuddle.
You can remove the branch and recreate it, let's say the branch that you want to overwrite is dev
:
Remove the branch in your remote host(github)
git push origin :dev
Then just push your dev again:
git push origin dev
I use Github for hosting, not familiar with unfuddle, but I think it'll works for the unfuddle, too. :)
Just as @melee mentioned, you can also use
git push origin dev -f
(not sure whether the -f
is valid, but --force
is OK)
git push origin dev --force
to force overwrite the branch. I remember I did it before. Thanks @melee. :)
How to do this for master branch, without pulling data down from the remote repo:
Create a new folder, init git, add remote repo - don't pull or fetch!
mkdir clean_repo
git init
git remote add origin <remote-repo>
create (and switch to) empty local branch, add, commit and push a test file into this.
git checkout test
echo "test" > test
git add .
git commit -m "adding test"
git push origin:test
On github / bitbucket, change default branch to new branch
On local, switch to master branch, commit and push to remote repo / branch
git checkout -b master
git push origin --mirror
I'm not an expert in github ecosystem, but why can't you just reset your remote repository url?
git remote set-url origin /path/to/your/new/remote/repository/url
You might also need to configure your up-stream branch by looking in here.
for more on git remote...
, please take a look here.