该central
库必须建立一个新的服务器上,所以我创建了我的本地回购新的远程,并推到这一点.
但现在,当我这样做时git pull
,它声称我是最新的.这是错的 - 它告诉我关于旧的远程分支,而不是新的远程分支,我知道事实上有新的提交提取.
如何更改本地分支以跟踪不同的遥控器?
我可以在git配置文件中看到这个,但我不想搞砸了.
[branch "master"]
remote = oldserver
merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)
urs*_*rei 978
git branch branch_name
--set-upstream-to
your_new_remote/branch_name
-u
开关:git branch branch_name
-u
your_new_remote/branch_name
git branch --set-upstream branch_name your_new_remote/branch_name
cri*_*ter 78
对我来说,修复是:
git remote set-url origin https://some_url/some_repo
Run Code Online (Sandbox Code Playgroud)
然后:
git push
Run Code Online (Sandbox Code Playgroud)
Ko2*_*o2r 37
使用最新的git(2.5.5)命令如下:
git branch --set-upstream-to=origin/branch
Run Code Online (Sandbox Code Playgroud)
这将更新当前本地分支的远程跟踪分支
wra*_*aud 22
对发生的事情进行大量控制的另一个选择是手动编辑配置:
git config --edit
Run Code Online (Sandbox Code Playgroud)
或速记
git config -e
Run Code Online (Sandbox Code Playgroud)
然后随意编辑文件,保存并应用您的修改.
Cas*_*bel 19
如果你对它有所了解,编辑配置文件足够安全.如果你想变得更偏执,你可以使用瓷器命令来修改它:
git config branch.master.remote newserver
Run Code Online (Sandbox Code Playgroud)
当然,如果您在之前和之后查看配置,您会发现它确实完成了您要执行的操作.
但在你的个案中,我要做的是:
git remote rename origin old-origin
git remote rename new-origin origin
Run Code Online (Sandbox Code Playgroud)
也就是说,如果新服务器将成为规范的远程服务器,为什么不将其称为原始服务器,就好像您最初从服务器克隆它一样?
git fetch origin
git checkout --track -b local_branch_name origin/branch_name
Run Code Online (Sandbox Code Playgroud)
要么
git fetch
git checkout -b local_branch_name origin/branch_name
Run Code Online (Sandbox Code Playgroud)
这是最简单的命令:
git push --set-upstream <new-origin> <branch-to-track>
Run Code Online (Sandbox Code Playgroud)
例如,给定命令将git remote -v
产生如下内容:
origin ssh://git@bitbucket.some.corp/~myself/projectr.git (fetch)
origin ssh://git@bitbucket.some.corp/~myself/projectr.git (push)
team ssh://git@bitbucket.some.corp/vbs/projectr.git (fetch)
team ssh://git@bitbucket.some.corp/vbs/projectr.git (push)
Run Code Online (Sandbox Code Playgroud)
改为跟踪团队:
git push --set-upstream team master
Run Code Online (Sandbox Code Playgroud)
您可以删除当前分支并执行以下操作:
git branch --track local_branch remote_branch
Run Code Online (Sandbox Code Playgroud)
或者将配置中的远程服务器更改为当前服务器
归档时间: |
|
查看次数: |
365683 次 |
最近记录: |