中央存储库必须设置在一个新的服务器上,所以我在本地回购上创建了一个新的远程存储库,并将其推送到该服务器上。
但现在当我做git拉,它声称我是最新的。这是错误的——它告诉我的是旧的远程分支,而不是新分支,我知道新分支实际上有新的提交要获取。
如何更改本地分支以跟踪不同的远程?
我可以在git配置文件中看到这一点,但我不想把事情搞砸。
[branch "master"]
remote = oldserver
merge = refs/heads/master
中央存储库必须设置在一个新的服务器上,所以我在本地回购上创建了一个新的远程存储库,并将其推送到该服务器上。
但现在当我做git拉,它声称我是最新的。这是错误的——它告诉我的是旧的远程分支,而不是新分支,我知道新分支实际上有新的提交要获取。
如何更改本地分支以跟踪不同的远程?
我可以在git配置文件中看到这一点,但我不想把事情搞砸。
[branch "master"]
remote = oldserver
merge = refs/heads/master
当前回答
对于最新的git(2.5.5),命令如下:
git branch --set-upstream-to=origin/branch
这将更新当前本地分支的远程跟踪分支
其他回答
根据git文档,最好的方法是:
确保实际的起始路径:
Git remote -v
然后使用以下命令进行更改:
Git远程set-url源
其中URL -repository与我们从clone选项中获得的URL相同。
我尝试了很多解决方案,但从Bitbucket到Azure Devops Migration,这个解决方案对我来说是有效的:
创建存储库 git clone源URL Git config——global——unset credentials .helper Git配置凭证。辅助存储 Git远程rm来源 git远程添加原始URL到NEW repo Git push origin——全部 以防错误使用 Git push -f origin——all 以防访问或身份错误 去分支——>select分支——>3 dots——>branch security——> allow force push Git push—标签
使用git v1.8.0或更高版本:
git branch branch_name --set-upstream-to your_new_remote/branch_name
或者你可以使用-u开关
git branch branch_name -u your_new_remote/branch_name
使用git v1.7.12或更早版本
git branch --set-upstream branch_name your_new_remote/branch_name
经过上面的尝试和搜索,搜索等。我意识到我的任何更改都没有在本地分支的服务器上,并且Team Explorer中的Visual Studio没有指示该分支跟踪远程分支。远程分支在那里,所以它应该工作。我最终删除了github上的远程分支,并're'推送我的本地分支,其中有我的更改,由于未知的原因没有被跟踪。
通过删除远程分支并're' Push未被跟踪的本地分支,本地分支将在git hub上重新创建。我尝试在命令提示符(使用Windows),我不能让我的本地分支跟踪远程分支,直到我这样做。一切都恢复正常了。
你可以删除你当前的分支,然后这样做:
git branch --track local_branch remote_branch
或者在配置中将远程服务器更改为当前服务器