Hi, PCMan writes: > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html