Re: How to replace master branch of a repo with that of another totally unrelated repo?
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Aug 6, 2010, 08:07 UTC
- Message-ID
- <20100806080720.GB31901@kytes>
- In-Reply-To
- <AANLkTiksJd-VfiP2Wzz-FsZoJk8djWyuxgweQpy6WaPB@mail.gmail.com>
Hi,
PCMan writes:
Show 15 quoted lines
> I want to rewrite a program totally from scratch rather than branching > from current one. > So I created a new repo for it and do the development there. > Now it's finished and I want to replace the old program with it. > Is it possible to replace the master branch of the old repo with the > code in this new repo? > I want to move the old code to a separate branch for backup, and > replace the master branch with the master branch of the new repo. > Since git rm -r * than git add all new files will lost history of new > repo, it's not an option. > The old repo is a public online repo used by multiple users. So just > renaming the repo won't work since the users who pull code from the > old repo will get troubles. > What's the best strategy for smooth migration in this case? > I'm not able to find the answer on Google.
In your old repository: $ git checkout master # Switch to branch master $ git checkout -b backup # Create a branch backup of master $ git remote add new <new_repository_url> # "new" is the name of the remote $ git fetch new # Fetch all the objects from the remote "new" $ git checkout master # Get ready to rewrite master $ git reset --hard new/master # Use `reset --hard` with extreme caution $ git checkout backup # Your backup is safe here $ # Done!
-- Ram