Re: A question about changing remote repo name

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

 



2010/1/5 Russell Steicke <russellsteicke@xxxxxxxxx>:
> On Mon, Jan 4, 2010 at 2:45 PM, Dongas <dongas86@xxxxxxxxx> wrote:
>> So i need to change the remote name manually.
>>
>> I tried modifying the .git/config file locally but it didn't work.
>>
>> Could someone help tell how to do it?
>
> After editing .git/config, do this:
>
> $ mv .git/refs/remotes/OLDNAME .git/refs/remotes/NEWNAME
>
> and optionally:
>
> $ mv .git/logs/refs/remotes/OLDNAME .git/logs/refs/remotes/NEWNAME
>
> Remember to rename the remote in any tracking branches in .git/config,
> as well as the name in the [remote "OLDNAME"] section, and the name in
> any fetch and push lines.  ie
>
> [remote "OLDNAME"]
>        url = something
>        fetch = +refs/heads/*:refs/remotes/OLDNAME/*
> [branch "master"]
>        remote = OLDNAME
>        merge = refs/heads/master
>
> Becomes
>
> [remote "NEWNAME"]
>        url = something
>        fetch = +refs/heads/*:refs/remotes/NEWNAME/*
> [branch "master"]
>        remote = NEWNAME
>        merge = refs/heads/master

Thanks a lot, Russell.
I followed you instruction but it seemed it needs more changes.

Below are the steps:
Original:
root@ubuntu:/work/git-repo/free_monkey# tree -a
.
|-- .git
|   |-- HEAD
|   |-- branches
|   |-- config
|   |-- description
|   |-- hooks
|   |   |-- applypatch-msg.sample
|   |   |-- commit-msg.sample
|   |   |-- post-commit.sample
|   |   |-- post-receive.sample
|   |   |-- post-update.sample
|   |   |-- pre-applypatch.sample
|   |   |-- pre-commit.sample
|   |   |-- pre-rebase.sample
|   |   |-- prepare-commit-msg.sample
|   |   `-- update.sample
|   |-- index
|   |-- info
|   |   `-- exclude
|   |-- logs
|   |   |-- HEAD
|   |   `-- refs
|   |       |-- heads
|   |       |   `-- master
|   |       `-- remotes
|   |           `-- origin
|   |               `-- HEAD
|   |-- objects
|   |   |-- info
|   |   `-- pack
|   |       |-- pack-f4beae76253ca8d36af31c42320462b5cf4940fc.idx
|   |       `-- pack-f4beae76253ca8d36af31c42320462b5cf4940fc.pack
|   |-- packed-refs
|   `-- refs
|       |-- heads
|       |   `-- master
|       |-- remotes
|       |   `-- origin
|       |       `-- HEAD
|       `-- tags
`-- hello1

root@ubuntu:/work/git-repo/free_monkey# cat .git/config
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = git@xxxxxxxxxxxxx:free_monkey.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
root@ubuntu:/work/git-repo/free_monkey#

Execute your steps....
Becomes:
root@ubuntu:/work/git-repo/free_monkey# tree -a
.
|-- .git
|   |-- HEAD
|   |-- branches
|   |-- config
|   |-- description
|   |-- hooks
|   |   |-- applypatch-msg.sample
|   |   |-- commit-msg.sample
|   |   |-- post-commit.sample
|   |   |-- post-receive.sample
|   |   |-- post-update.sample
|   |   |-- pre-applypatch.sample
|   |   |-- pre-commit.sample
|   |   |-- pre-rebase.sample
|   |   |-- prepare-commit-msg.sample
|   |   `-- update.sample
|   |-- index
|   |-- info
|   |   `-- exclude
|   |-- logs
|   |   |-- HEAD
|   |   `-- refs
|   |       |-- heads
|   |       |   `-- master
|   |       `-- remotes
|   |           `-- karmic
|   |               `-- HEAD
|   |-- objects
|   |   |-- info
|   |   `-- pack
|   |       |-- pack-f4beae76253ca8d36af31c42320462b5cf4940fc.idx
|   |       `-- pack-f4beae76253ca8d36af31c42320462b5cf4940fc.pack
|   |-- packed-refs
|   `-- refs
|       |-- heads
|       |   `-- master
|       |-- remotes
|       |   `-- karmic
|       |       `-- HEAD
|       `-- tags
`-- hello1

root@ubuntu:/work/git-repo/free_monkey# cat .git/config
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "karmic"]
	url = git@xxxxxxxxxxxxx:free_monkey.git
	fetch = +refs/heads/*:refs/remotes/karmic/*
[branch "master"]
	remote = karmic
	merge = refs/heads/master

But the result was:
root@ubuntu:/work/git-repo/free_monkey# git branch -a
* master
  karmic/HEAD
  origin/master
The 'origin/master' was still not changed.

I did a few more steps:
root@ubuntu:/work/git-repo/free_monkey# grep -wrin 'origin' .
./.git/packed-refs:2:abfae429bb4081043e84681e5ee94102085f87e0
refs/remotes/origin/master
./.git/refs/remotes/karmic/HEAD:1:ref: refs/remotes/origin/master

Change 'origin' to 'karmic' in above files.

Then,
root@ubuntu:/work/git-repo/free_monkey# git branch -a
* master
  karmic/HEAD
  karmic/master

The steps are a little complicated.
Do you know if there's a way to rename the remote on server side?
If there is, then everyone could just clone the project with a new
remote name rather than the defaul 'origin'.


Thanks

Regards
Dongas
--
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]