改變 git 某個 remote 的 url
有些時候 git repo 的 remote 會搬家(例如從 github 搬到自己 host 的 gitlab),或者是想改走不同的 protocol(例如想從 https://github.com/user/some_repo.git
改成 [email protected]:user/some_repo.git
)。後者在 github 停止支援 https 密碼認證之後應該會常碰到。
首先列出認識的 remote,避免改錯。
$ git remote -v
origin https://github.com/user/some_repo.git (fetch)
origin https://github.com/user/some_repo.git (push)
然後下 git remote set-url
。
$ git remote set-url origin [email protected]:user/some_repo.git
最後確認是否已經修改完成。
$ git remote -v
origin [email protected]:user/some_repo.git (fetch)
origin [email protected]:user/some_repo.git(push)
如果有人想要更硬派的處理這件事,可以直接手動修改 .git/config
中的 remote 區塊。
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = [email protected]:user/some_repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master