Re: How to replace master branch of a repo with that of another totally unrelated repo?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for the detailed answer! It's really useful.

Now I fetch the new source code to a new branch.
Later I plan to replace master with merge --ours when it's ready.

Thanks

On Fri, Aug 6, 2010 at 4:07 PM, Ramkumar Ramachandra <artagnon@xxxxxxxxx> wrote:
> 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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]